【MQL5】ChartWindowOnDropped関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

ChartWindowOnDropped関数の働き・役割

ChartWindowOnDropped関数は、エキスパートアドバイザースクリプトがドロップされたチャートサブウィンドウの番号(インデックス)を返します。この関数を使用することで、スクリプトエキスパートアドバイザーがどのウィンドウに配置されたかを特定し、そのウィンドウに対して適切な操作を行うことができます。0はメインチャートウィンドウを意味します。

ChartWindowOnDropped関数の引数について

ChartWindowOnDropped関数引数を取りません。

int ChartWindowOnDropped();

ChartWindowOnDropped関数の戻り値について

ChartWindowOnDropped関数は、エキスパートアドバイザースクリプトがドロップされたチャートサブウィンドウの番号を返します。戻り値の詳細は以下の通りです。

指定されたチャートサブウィンドウの番号

種類: int
説明: ドロップされたチャートサブウィンドウの番号(インデックス)を返します。0はメインチャートウィンドウを意味します。

ChartWindowOnDropped関数を使う際の注意点

ChartWindowOnDropped関数は、エキスパートアドバイザースクリプトがドロップされたウィンドウの番号を特定するために使用されます。この情報を基に、特定のサブウィンドウに対して適切な操作を行うことができます。特に複数のウィンドウが存在するチャートにおいて、どのウィンドウでスクリプトが実行されているかを識別するのに役立ちます。

ChartWindowOnDropped関数を使ったサンプルコード

以下に、ChartWindowOnDropped関数を使用してスクリプトがドロップされたウィンドウの番号を取得し、その情報をログに出力するサンプルコードを示します。

//+------------------------------------------------------------------+
//| スクリプトプログラムを開始する関数                              |
//+------------------------------------------------------------------+
void OnStart()
{
  //--- スクリプトがドロップされたウィンドウの番号を取得
  int myWindow = ChartWindowOnDropped();
  
  //--- チャート上のウィンドウの総数を取得
  int windowsTotal = (int)ChartGetInteger(0, CHART_WINDOWS_TOTAL);
  
  //--- スクリプトがどのウィンドウで実行されているか、およびチャート上のウィンドウの総数をログに出力
  Print("Script is running on the window #", myWindow, ". Total windows on the chart ", ChartSymbol(), ": ", windowsTotal);
}

サンプルコードに使われた関数や文法要素の簡単な解説

OnStart関数

OnStart関数は、スクリプトの実行が開始されたときに自動的に呼び出される関数です。この関数内でスクリプトのメインロジックを実装します。

ChartWindowOnDropped関数

ChartWindowOnDropped関数は、エキスパートアドバイザースクリプトがドロップされたチャートサブウィンドウの番号を取得します。

int windowsTotal = (int)ChartGetInteger(0, CHART_WINDOWS_TOTAL);

ChartGetInteger関数を使用して、現在のチャート(識別子0)のウィンドウの総数を取得しています。ChartGetInteger関数は、チャート上のウィンドウの総数を示す整数値を返します。取得した値はlong型ですが、int型タイプキャストしています。CHART_WINDOWS_TOTALは、チャート内のウィンドウの総数を取得するための定数です。

Print関数

Print関数は、指定されたメッセージをエキスパートログに出力します。このコードでは、Print関数を使用して、スクリプトがどのウィンドウで実行されているか、およびチャート上のウィンドウの総数を出力します。Print関数引数として使用されているChartSymbol関数は、現在のチャートのシンボル(特定の文字や記号)名を取得します。これにより、ログ出力時にチャートのシンボル名も表示されます。

タイトルとURLをコピーしました