【MQL4テクニック】オブジェクトを削除する方法まとめ
チャートに表示したオブジェクトを削除するための、様々な方法をご紹介します。
目次
指定した名前のオブジェクトを削除する
ObjectDelete()
関数は、オブジェクト名を指定して削除します。
bool ObjectDelete(long chartId, string objectName);
引数の意味は以下です。
引数名 | 詳細 |
---|---|
chartId | チャートIDを指定します。引数を省略した場合は現在のチャートを指定します。 |
objectName | 削除したいオブジェクトの名前を指定します。 |
全てのオブジェクトを削除する
ObjectsDeleteAll()
関数を使用することで、チャートに表示されている全てのオブジェクトを削除することができます。
bool ObjectsDeleteAll(long chartId);
引数はチャートIDのみです。 省略した場合は現在のチャートを指定します。
指定した種類のオブジェクトをまとめて削除する
ObjectDeleteAll()
関数はオブジェクトタイプを指定することで、「水平線を全て削除する」などの実装が可能です。
bool ObjectsDeleteAll(long chartID, int window, int objectType);
引数の意味は以下です。
引数名 | 詳細 |
---|---|
chartId | チャートIDを指定します。引数を省略した場合は現在のチャートを指定します。 |
window | チャートウィンドウ番号を指定します。 0を指定:メインチャートのみ 指定なし:全ウィンドウ |
objectType | オブジェクトタイプを指定します。 オブジェクトタイプの確認はこちらから。 |
使用例
ObjectsDeleteAll(0, EMPTY, OBJ_TREND);//トレンドラインを全て削除
ObjectsDeleteAll(0, 0, OBJ_HLINE);//メインチャートに表示されている水平線を全て削除
接頭語を指定してまとめて削除する
ObjectsDeleteAll()
関数は、接頭語を指定することも可能です。
指定した名前から始まるオブジェクトを全て削除します。
bool ObjectsDeleteAll(long chartId, string prefix);
引数の意味は以下です。
引数名 | 詳細 |
---|---|
chartId | チャートIDを指定します。 |
prefix | 接頭語を指定します。 |
使用例
ObjectsDeleteAll(0, "OBJ");//OBJから始まる名前のオブジェクトを全て削除
ObjectsDeleteAll(0, "OBJ", EMPTY, OBJ_TREND);//OBJから始まる名前のトレンドラインを全て削除