ChartPeriod関数の働き・役割

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

ChartPeriod関数の引数構成は以下の通りです。
ENUM_TIMEFRAMES ChartPeriod(
   long chart_id = 0  // チャートの識別子
);ChartPeriod関数の戻り値について

ChartPeriod関数は、指定されたチャートの時間軸をENUM_TIMEFRAMESの値として返します。ENUM_TIMEFRAMESは、時間軸を表す列挙型であり、例えば以下のような値を持ちます。
- PERIOD_M1(1分)
 - PERIOD_M5(5分)
 - PERIOD_M15(15分)
 - PERIOD_H1(1時間)
 - PERIOD_D1(1日)
 
チャートが存在しない場合は、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関数を使用することで、チャートの時間軸を簡単に取得することができます。


  
  
  
  
