MQL の下記の関数を使用すると、現在表示しているチャートの情報を列挙することができます。
- ChartFirst 関数 … 最初のチャート ID を取得します(見つからない場合は -1)。
- ChartNext 関数 … 次のチャートのチャート ID を取得します(見つからない場合は -1)。
具体的には、ChartFirst
関数で最初のチャートの ID を取得し、ChartNext
関数でその次のチャートの ID を繰り返し取得していく、という感じで処理できます。
処理するチャートがなくなったときは、上記の関数は -1 を返すので、正の値を返す間だけ繰り返し処理すれば OK です。
次のサンプルスクリプトでは、現在表示しているすべてのチャートの情報(チャートID、シンボル名、時間足)を列挙しています。
MQL5 の標準ライブラリとして提供されている CChart クラス を使っても同様のことを行えます。
関連記事
- MetaTrader/MQL5: シンボル名を取得する (Symbol, ChartSymbol, SymbolsTotal, SymbolName)
- MetaTrader/MQL: CTrade クラスで注文を出す (MT5)
- MetaTrader/MQL: OrderSend の引数を理解する - MqlTradeRequest/MqlTradeResult 構造体 (MT5)
- MetaTrader/MQL: 通貨(シンボル)のポイントサイズ、Digit 数を調べる (Point, Digits, SymbolInfoDouble)
- MQL で Hello World
- MetaTrader/MQL: MQL4 と MQL5 のどちらでコンパイルされているか調べる
- MetaTrader/MQL: チャートのサイズ(幅・高さ)を取得する (ChartGetInteger)