【MQL5】ChartIndicatorName関数について

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

ChartIndicatorName関数の働き・役割

ChartIndicatorName関数は、指定されたチャートウィンドウのインジケータリスト内における、指標の短縮名を返すために使用されます。
短縮名とは、インジケータ(テクニカル指標)の識別のために設定される簡略化された名前のことです。例えば、複数のインジケータがチャートに表示されている場合、その中から特定インジケータの短縮名を取得する際に利用します。

ChartIndicatorName関数の引数について

string  ChartIndicatorName(
  long  chart_id,      // チャート識別子
  int  sub_window,     // サブウィンドウ番号
  int  index           // チャートサブウィンドウに追加された指標のリスト内の指標のインデックス
);

ChartIndicatorName関数は以下の3つの引数を取ります。

  1. chart_id
  • 種類: long
  • 説明: チャートの識別子を指定します。0を指定すると現在のチャートが対象となります。
  1. sub_window
  • 種類: int
  • 説明: チャートサブウィンドウの番号を指定します。0はメインチャートウィンドウを意味します。
  1. index

ChartIndicatorName関数の戻り値について

ChartIndicatorName関数は、指定されたインジケータの短縮名を文字列として返します。エラーが発生した場合は、GetLastError関数を使用してエラーの詳細を取得することができます。短縮名はIndicatorSetString関数INDICATOR_SHORTNAMEプロパティに設定されたものです。

ChartIndicatorName関数を使う際の注意点

ChartIndicatorName関数を使用する際には、以下の点に注意してください。

指標の短縮名とファイル名を混同しないように注意が必要です。短縮名が明示的に設定されていない場合、指標のソースコードを含むファイルの名称が使用されます。

指標の短縮名は正しく形成されている必要があります。短縮名はIndicatorSetString関数を使用してINDICATOR_SHORTNAMEプロパティに設定されます。

指標の削除には短縮名が使用されるため、短縮名に指標の全ての入力パラメータの値を含めることを推奨します。

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

以下に、ChartIndicatorName関数を使用したサンプルコードを示します。

// OnStart関数はスクリプトの実行が開始されたときに自動的に呼び出されます
void OnStart()
{
    // 現在のチャートIDを取得します
    long chartID = 0;

    // メインチャートウィンドウの番号を指定します
    int subWindow = 0;

    // インジケータリストのインデックスを指定します
    int indicatorIndex = 0;

    // 指定されたチャートウィンドウとインデックスにあるインジケータの短縮名を取得します
    string indicatorShortName = ChartIndicatorName(chartID, subWindow, indicatorIndex);

    // 取得した短縮名をエキスパートログに出力します
    Print("インジケータの短縮名: ", indicatorShortName);
}

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

OnStart関数

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

ChartIndicatorName関数

ChartIndicatorName関数は指定されたチャートウィンドウの指標リスト内の特定の指標の短縮名を取得する関数です。チャートID、サブウィンドウの番号、および指標リストのインデックス引数として取ります。

Print関数

Print関数はエキスパートログにメッセージを出力するための関数です。この関数を使用して、プログラムの実行状況やデバッグ情報を確認することができます。

解説

サンプルコードでは、まず現在のチャートID、メインチャートウィンドウの番号、インジケータリストのインデックスを設定しています。その後、ChartIndicatorName関数を使用して指定されたインジケータの短縮名を取得し、それをエキスパートログに出力しています。これにより、チャート上に配置された特定のインジケータの短縮名を確認することができます。

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