【MQL4】自チャート以外のチャートの操作をしたい。

サザエさんの波平お父さんの年齢は51歳としり、70歳ぐらいと思っていたので驚愕したセレブパンダだお。

インジを入れたチャート以外のチャートを知るにはってお話です。

こんな人が対象です。

  • 自分のチャートに引いたオブジェクトを他チャートに作成したい人。
  • スクリプトなどで全チャートを操作したい人。

サンプル

関数にすると便利です。(そのままコピペで使えます)

long currChart = ChartFirst();

while(true){

    if(currChart != ChartID()){
       // TODO チャートを扱う処理  
    
    }

    if(ChartNext(currChart) < 0) break;
    else currChart = ChartNext(currChart);

}

チャート操作をするには、チャートIDというチャートを一意に識別する番号を取得する必要があります。

自分のチャートIDと違うチャートIDが操作対象のチャートになります。

最初に

long currChart = ChartFirst();

で自分のチャートIDを取得します。
次にwhileループでMT4に存在するチャート全てを取得するまでループします。

while(true){

    if(currChart != ChartID()){
       // TODO チャートを扱う処理  
    
    }

}

while(true)という無限ループにしているので、ループを抜ける条件をしっかり記述してください。

    if(ChartNext(currChart) < 0) break;
    else currChart = ChartNext(currChart);

ChartNext関数で次のチャートがあるか確認しています。マイナスが戻ってきた場合は、もうチャートはないのでループを抜けています。
チャートが存在する場合は、変数currChartに次ぎのチャートIDを設定します。

では、まただお。

Twitterでフォローしよう

おすすめの記事