EAをアンロード ExpertRemove 関数

関数

共通関数

ExpertRemove 関数

この関数は、MT4の自動取引システムである EA(Expert Advisor)を停止してチャートからアンロード(削除)します。

ExpertRemove関数を使用しても、EAは直ぐに停止はしません。

EA操作を停止するためのフラグが設定され、その後のプログラム処理は行なわれず、OnDeinit関数が呼び出されて EAがアンロードされチャート上から削除されることになります。

データ型と構成・戻り値

void ExpertRemove();

戻り値は無し。

引数 [0]

引数無し。

使用例

ExpertRemove関数によるEAのアンロード

ExpertRemove関数を使って実行中の EAをアンロードします。

次のサンプルコードを実行すると垂直線が作成されます。プログラムではTickカウントが 10を超えると ExpertRemove関数が呼び出されてOnDeinit関数を経由してObjectsDeleteAll関数が実行されチャート上の垂直線が削除されてから EAも削除されることになります。

このサンプルコードはOnTick関数を使用しているので、土日以外の市場が開いている時間帯でテストをしてください。

コード

// ExpertRemove関数によるEAのアンロード
#property strict

int tc=0;                                        // Tickカウント
void OnInit() {

ObjectsDeleteAll();
ObjectCreate("obj1", OBJ_VLINE, 0, Time[10], 0); // 垂直線
}

void OnDeinit(const int reason) {
   ObjectsDeleteAll();
}

void OnTick() {

if(tc>10) {
   ExpertRemove();                               // EAのアンロード
}
tc++;
}

このコードをコンパイルして実行するのに、自動売買を許可しておく必要があります。
自動売買を許可する方法はこちら、コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました