【MQL5】ChartPeriod関数について

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

ChartPeriod関数の働き・役割

ChartPeriod関数は、指定されたチャートの時間軸期間を取得するために使用されます。この関数は、チャートが表示しているタイムフレーム(時間軸)を特定し、ENUM_TIMEFRAMESの値として返します。これにより、プログラム内でチャートの時間軸を確認し、必要に応じて処理を分岐させることができます。

ChartPeriod関数の引数について

ChartPeriod関数引数構成は以下の通りです。

ENUM_TIMEFRAMES ChartPeriod(
   long chart_id = 0  // チャートの識別子
);
  • chart_id: チャートの識別子です。0を指定すると現在アクティブなチャートを意味します。特定のチャートを指定する場合は、そのチャートの識別子を使用します。

ChartPeriod関数の戻り値について

ChartPeriod関数は、指定されたチャートの時間軸をENUM_TIMEFRAMESの値として返します。ENUM_TIMEFRAMESは、時間軸を表す列挙型であり、例えば以下のような値を持ちます。

チャートが存在しない場合は、0を返します。

ChartPeriod関数を使う際の注意点

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

  • 有効なチャートIDを使用すること。無効なチャートIDを指定すると、0が返されます。
  • チャートIDが正しいか確認するために、事前にChartID関数を使用することが推奨されます。

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

以下は、ChartPeriod関数を使用して現在のチャートの時間軸を取得し、エキスパートログに出力するサンプルコードです。

// スクリプトが実行されたときに自動的に呼び出される関数
void OnStart() 
{
    // 現在アクティブなチャートの時間軸を取得する
    ENUM_TIMEFRAMES currentPeriod = ChartPeriod(0);
    
    // 時間軸を文字列に変換する
    string periodName = EnumToString(currentPeriod);
    
    // 取得した時間軸をエキスパートログに出力する
    Print("現在のチャートの時間軸: ", periodName);
}

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

  • OnStart関数:
  • スクリプトが実行されたときに自動的に呼び出されます。この関数内で、必要な初期化や処理を行います。
  • ChartPeriod関数:
  • 指定されたチャートの時間軸を取得します。このサンプルでは、現在アクティブなチャート(IDが0)を指定しています。
  • EnumToString関数:
  • ENUM_TIMEFRAMES型の値を文字列に変換します。このサンプルでは、取得した時間軸の数値を対応する文字列に変換します。
  • Print関数:
  • メッセージをエキスパートログに出力します。このサンプルでは、取得した時間軸をログに表示しています。

このように、ChartPeriod関数を使用することで、チャートの時間軸を簡単に取得することができます。

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