2本の移動平均線の交差システム」の記事で、移動平均の交差を使った途転売買システムを作りました。

今回は、そのシステムに手仕舞いを追加したEAを作っていきます。

とりあえず、以下のブロックが前回作成した移動平均の交差を使った途転売買システムです。

これと同じブロックは、以下のリンクからダウンロードできます。

→Block230122.txtをダウンロード

このファイルをBlock EAの「ブロックを開く」というメニューから選択してください。ワークスペースに上と同じブロックが現れればOKです。

今回の記事では、このブロックをベースにして、手仕舞いのブロックを追加していきます。

損切り・利食い注文による手仕舞い

MT4/MT5のEAの場合、手仕舞いで一番簡単なのは、ポジション自体に損切り、利食いの指値注文、逆指値注文を入れる方法です。

ただ、損切り注文、利食い注文では、決済したい価格を指定する必要があります。実際に決済する価格が重要な場面もあるでしょうが、たいていは、そのポジションによる含み損益が重要な場面の方が多いでしょう。

なので、損益が一定の額に到達したときに決済する注文を入れるためのブロックがBlock EAに用意されています。場所はツールボックスの「トレード」カテゴリーです。

このブロックは、損切りの値幅利食いの値幅pipsで指定することで、オープンしているポジションに損切り注文と利食い注文をセットするものです。

これをティック時実行関数の最初に組み込めばOKです。

このブロックは共通ライブラリのMyOrderSetSLTP()に対応したものです。値幅が「0」の場合、注文は無効となります。例えば損切りだけ指定したい場合、利食いの値幅には「」を入力しておきます。

損切りや利食いの値幅を外部パラメータにしたい場合、移動平均の期間を外部パラメータにしたのと同様に、変数を作成外部パラメータをセットするブロックを配置し、各変数ブロックを決済注文ブロックの各パラメータに入力します。

ここでは、損切りの値幅として「SLpips」、利食いの値幅として「TPpips」という変数を作成しています。