仕掛けシグナルによって買いポジションと売りポジションが交互に代わる途転売買システムのひな型です。実際の仕掛けシグナルは、仕掛けシグナルのページを参照してください。

//共通ライブラリ
#include "LibEA.mqh"

sinput double Lots = 0.1; //売買ロット数

//ティック時実行関数
void Tick()
{
   int sig_entry = EntrySignal(); //仕掛けシグナル
   //成行売買
   MyOrderSendMarket(sig_entry, sig_entry, Lots);
}

//仕掛けシグナル関数
int EntrySignal()
{
   int ret = 0; //シグナルの初期化
   //シグナルの生成
   return ret; //シグナルの出力
}

説明

EntrySignal()仕掛けシグナルを生成し、sig_entryに代入します。

MyOrderSendMarket()の第1引数と第2引数に同じsig_entryを代入することで、仕掛けシグナルが手仕舞いシグナルを兼ねることになります。

例えば、買いポジションがあったときに、売りの仕掛けシグナルが出たとすると、売りシグナルが手仕舞いシグナルとなり、買いポジションを決済します。するとポジションがなくなるので仕掛けシグナルに従い、売りポジションを建てます。

逆に売りポジションがあった場合、買いの仕掛けシグナルが出ると、売りポジションを決済して買いポジションを建てます。

つまり、買いと売りのポジションが交互に建てられるという途転売買のシステムとなるのです。