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関数を使用することで、チャートの時間軸を簡単に取得することができます。