MARKET
MT4ツールを、数字で作る。— Team REI|平日の朝に「相場分析」を更新しています|

ObjectsTotal ― チャート上のオブジェクトの数を数える|MQL4/MQL5リファレンス

MQLリファレンス›関数オブジェクトObjectsTotal
(‘both’, ‘MQL4 / MQL5 両対応’)チャート描画

ObjectsTotalチャート上のオブジェクトの数を数える

いまチャートに置かれているオブジェクトの総数を返す。全部を順番に見て回るループの回数として使う。

1書式

int ObjectsTotal(
   long chart_id,
   int  sub_window=-1,
   int  type=-1
);

MQL4には引数無しの古い形もあるが、MQL5にそろえたこの形で書くのが今は定石。

2引数

引数 内容
chart_id 対象のチャート
sub_window サブウィンドウを絞り込む。-1で全部
type 種類を絞り込む。-1で全種類

3戻り値

オブジェクトの総数。

4使用例

for(int i = ObjectsTotal(0, -1, -1) - 1; i >= 0; i--)
{
   string nm = ObjectName(0, i);
   if(StringFind(nm, "myEA_") == 0) ObjectDelete(0, nm);
}

MetaEditorでコンパイル0エラー・0警告を確認済み。

6よくある罠

⚠ 実務で踏んだもの
  • 削除しながらループするときは後ろから前へ数える。前から数えると、削除のたびに番号がずれて1つ飛ばすことがある。

7関連する関数

REI-FX&BO OFFICIAL LINE

ツールのダウンロードパスワードは
公式LINEで、すぐ届きます。

友だち追加の自動返信でパスワードをお送りします。
新しいツールの公開や、検証でわかったことも先にお知らせします。

全ツールのパスワード新作ツールをいち早く配信は月1〜2回だけ
LINEで友だち追加 パスワードを受け取る ›

追加後にひとことメッセージをいただけると、ツールづくりの参考にします。