今回は、テクニカル指標を使ったシグナルによる手仕舞いについてみていきます。
Block EAでは、以下のように成行注文を行うブロックに、仕掛けシグナルと手仕舞いシグナルを入力できるようになっています。
このブロックは、共通ライブラリの**MyOrderSendMarket()**関数に対応したものです。
これまでの記事では、このブロックの手仕舞いシグナルに仕掛けシグナルを入れることで、途転売買を実行させてきました。
ここで、**MyOrderSendMarket()**関数の動作について説明しておきます。
仕掛けシグナルで注文を発注するのは、そのポジション番号で、オープンポジションも待機注文も入っていない場合です。
オープンポジションがある場合、手仕舞いシグナルを見てポジションと逆シグナルであれば、そのポジションを決済します。
つまり、買いポジションで手仕舞いが売りシグナル、売りポジションで手仕舞いが買いシグナルの場合、そのポジションは決済されます。
ここでポジションが決済されれば、仕掛けシグナルが有効となり、仕掛けシグナルがあれば、成行注文を発注します。
なので、買いポジションがある状態で仕掛けシグナルと手仕舞いシグナルが同じく売りであれば、買いポジションが決済され、すぐに売りポジションが建てられるので、途転売買となるのです。
売りポジションの場合も同様です。仕掛けと手仕舞いが同じく買いシグナルであれば、ポジションが決済され、買いポジションとなります。
成行注文のブロックは、内部でこのような複数の処理を行っているのです。
上記の成行注文ブロックの動作を理解した上で、仕掛けシグナルとは別のシグナルを手仕舞いシグナルにする例を見ていきます。
今回も基となるシステムは、移動平均の交差を使った途転売買システムとします。
ここで、手仕舞いシグナルの一例として、仕掛けシグナルと同じく「2本の移動平均線の交差による手仕舞い」を取り上げます。
仕掛けと手仕舞いで同じテクニカル指標を使っていますが、移動平均の期間が異なるので、シグナルの出るタイミングが異なります。
ここでは、手仕舞いのシグナルとして短期移動平均線と中期移動平均線の交差を利用します。