1分足チャートで5分単位に処理するには!

気分を悪くしたら、ごめんなさい。と名古屋市長のセリフを多用しているセレブパンダだお。

1分足のチャートで5分、10分、15分のアローを出すか出さないかを処理したい時があります。
今日はそのお話です。

こんな方におすすめ
  • 1分足で指定した分単位の処理を知りたい方。

指定した分にアロー条件を確認したい。〇×判定をしたい。何てことあります。

5分単位での処理で確実にやれる方法をまずは紹介します。

MQL4ではTimeMinuteという関数が用意されています。これを使えば、分を特定できます。

サンプル(単純なやり方)

int min = TimeMinute(iTime(NULL, 1, 0));

if ( min == 0 || min == 5 || min == 10 || min == 15 ||
     min == 20 || min == 25 || min == 30 || min == 35 ||
     min == 40 || min == 45 || min == 50 || min == 55 ) {
    Print("5分毎の処理です");
}

これでもできますが、発生する可能性がある分を全て書かなくてもできます。

サンプル(効率的なやり方)

int min = TimeMinute(iTime(NULL, 1, 0));

if ( min % 5 == 0 ) {
    Print("5分毎の処理です");
}

5分毎の処理なので、今の分を5で割った余りが0が0分、5分・・・55分に該当します。

あまりを求める関数はMathModという関数があります。

int min = TimeMinute(iTime(NULL, 1, 0));

if ( MathMod(min, 5 ) == 0 ) {
    Print("5分毎の処理です");
}

としても問題ありません。

では、まただお。

Twitterでフォローしよう

おすすめの記事