(‘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つ飛ばすことがある。