[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 271

 
Solree:

それじゃ、これでおしまい。

まあ実際には、正しい項目を選択・判断するためのアルゴリズムを削除しただけなのですが。


最初の再計算の後(インジケータをロードした 後の最初のティックで)、次の再計算は1本目のローソク足が8時のときに行われることを見逃していませんか?

    if (TimeHour(Time[1]) == 8 && !check)
        check = true;
 
それが私には必要なのです。1日1回、8時にドローイングを行います。しかし、インジケーターを置いて、そこで何かして、インジケーターを置いてMTを閉じると、次の日に開くと、すでに8時のバーが過ぎていて、リロードするか期間を変更するまで、インジケーターはまだ古い8時のバーに留まっています。ループで指示したように、通過したものを見つけなければなりませんが。インディが8時方向のバーまで開いたときに新しいものを描くように、この条件が必要なのです。
 
私の質問は忘却の彼方にいってしまったのでしょうか...?
 
Solree:
それが私には必要なのです。1日1回、8時にドローイングを行います。しかし、インジケーターを置いて、そこで何かして、インジケーターを置いてMTを閉じると、次の日に開くと、すでに8時のバーが過ぎていて、リロードするか期間を変更するまで、インジケーターは古い8時のバーのままになっています。ループで指示したように、通過したものを見つけなければなりませんが。インディが8時のバーまで開いたときに新しいものを描くために、この条件が必要です。 。


セリフの後に

 {//Тут y будет не корректным, когда запускаешь МТ с уже повешенным индюком

追加

Print("y=",y);
視覚化モードでテストを実行し(つまり、いくつかの空のEAをテストし、あなたの手でチャート上にインジケータを 投げることができます)、ログが示すものを示してください。
 
10分後(新しいバーが 届いたら)結果を投入します。今、y=12である。
 
この方法では、DCが9:00になったときに結果が出ます
 
なぜか。MTを実行すると、コードが一度実行される。履歴バーにあり、そこから描画する。
 
Solree:
なぜか。MTを実行すると、コードが一度実行される。バーを歴史の中に位置づけ、そこから導き出す。


理解することができます。

インジケータが再実行されないということですね。そして、1小節目が8時の位置にあるときに「再実行」されます。

このような状況をモデル化する必要があるのです。

 
2011.10.18 21:01:17 ResistDay EURUSD,H1: y=12
もう13歳になっているはずなのに。なぜ、時間が止まっているのか?
 
Solree:
2011.10.18 21:01:17 ResistDay EURUSD,H1: y=12
もう13歳になっているはずなのに。なぜ、時間が止まっているのか?

で、13になるはずなんですが?バーの欠損はないのか?