終値確定時、始値確定時の判定について 新しいコメント Fetherion 2020.09.02 06:21 常にではなく終値確定又は始値の段階のみ条件判定など処理を走らせるというのを、見よう見まねで一応書いてみたのですが、、、 一応基本的には例えば1時間足であれば、1時間に一度判定されるけど、コンパイル等をし直したり、改めてスタートさせるために適用させたりすると、最初の起動時に一回必ず処理が走ってしまいます。 使い方?なんだとは思うのですが、アドバイスお願いいたします。 //function bool isNewBar(string symbol, ENUM_TIMEFRAMES tf) { static datetime time = 0; if(iTime(symbol, tf, 0) != time) { time = iTime(symbol, tf, 0); return true; } return false; } //OnTick void OnTick() { if(isNewBar(_Symbol, _Period)) { //処理 } } Shino Unada 2020.09.02 13:11 #1 time を0で初期化しているから起動時には if(iTime(symbol, tf, 0) != 0) となり、必ず true になる。 time を現在時刻で初期化すればいいのでは? Fetherion 2020.09.05 01:22 #2 Nagisa Unada: time を0で初期化しているから起動時には となり、必ず true になる。 time を現在時刻で初期化すればいいのでは? なるほど、、、ちょっと見てみます。 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
常にではなく終値確定又は始値の段階のみ条件判定など処理を走らせるというのを、見よう見まねで一応書いてみたのですが、、、
一応基本的には例えば1時間足であれば、1時間に一度判定されるけど、コンパイル等をし直したり、改めてスタートさせるために適用させたりすると、最初の起動時に一回必ず処理が走ってしまいます。
使い方?なんだとは思うのですが、アドバイスお願いいたします。