//+------------------------------------------------------------------+//| Проверяем образование нового часа |//+------------------------------------------------------------------+bool CheckNewHour()
{
//--- Сбрасываем код последней ошибкиResetLastError();
//--- Получаем время открытия текущего часаconstdatetime hOpenTime = iTime( _Symbol, PERIOD_H1, 0 );
//--- Проверяем корректность полученного времениif( hOpenTime == 0 || GetLastError() != 0 ) // Если возникла ошибка или время не полученоreturn( false ); // Возвращаем ложь//--- Сравниваем полученное время с сохраненнымif( hOpenTime == _hourOpenTime ) // Если время совпадаетreturn( false ); // Возвращаем ложь//--- Запоминаем время нового часа
_hourOpenTime = hOpenTime;
//--- Возвращаем истинуreturn( true );
}
閉店時間は?開店時間が欲しい...。
最後のバーの開店時間 チェックがあちこちで行われているんですね、これが。端末を開いた直後は、OnInitでまだバーが形成されていない状態です。
どこもかしこも最後のバーの開店時間 チェックをしているんですね、これが。端末を開いた直後は、OnInitでまだバーが形成されていない。
...ノーコメントだ、お前との話は終わりだ。
Question!OnInit()でデータのプレクエリ、CheckCurren...()の各関数でデータの読み込みのチェックがありましたが、すでにサーバーとの接続が確立されているのに、なぜ前のデータを出力するのでしょうか?ちゃんと動くようにするために、どれだけ血のにじむようなチェックをしなければならないか......。
シンボルやピリオドが多く、端末が長い間オフラインだった場合、多くのデータを読み込む必要があるのです。
インターネットとブローカーのサーバーの速度に依存するこの読み込みを待つ必要がないように、端末は一度に以前のデータを提供します。
すでに発売されているもの
つまり、「松葉杖の解決策」ではなく、最後のキャンドルをロードするために必要なチェックなのです。
ps.新しいバーの 出現をさらに確認するにはどうしたらよいでしょうか?
シンボルやピリオドが多く、端末が長時間オフラインの場合は、多くのデータをダウンロードする必要があります。
インターネットとブローカーのサーバーの速度に依存するこのダウンロードの待ち時間を避けるために、端末はすぐに以前のデータを提供します。
すでに発売されているもの
したがって、それは "松葉杖の解決策 "ではなく、最後のろうそくをロードするために必要なチェックである。
ロジックの問題を感じますか?履歴がまだ読み込まれていない場合は、"何か "を出力させて、データが更新されるまで待ちます。そして、そのデータが正しいかどうかは関係ない...。
さらに、端末が5~10分オフラインになったとしても、同じように無意味です。データウィンドウに 3文字しか表示されなくても、同じように無意味なことです。すべてのチェックは終了しています。
開発者のアドバイスが正しく機能しないことはご理解いただけたと思います。あなたには意味がないのでしょうか?
ロジックに問題があると感じますか?まだ履歴がアップロードされていない場合は、「何か」を出して、データが更新されるまで待たせてください。そして、そのデータが正しいかどうかは関係ない...。
このロジックは、最初のラン・オープン・シンボルのみである。
端末はローソク足がまだあるかどうかわからず、持っているものを出します。
そして、最後のキャンドルが現れる。
このロジックが機能するのは、シンボルを最初に実行したときだけです。
端末はこれ以上ロウソクが増えるかどうかわからないから、今あるものを提供する。
そして、最後のキャンドルが現れる。
記事を更新しました。
教えてください、そのようなニュアンスを理解するために毎回何時間もかけて作業したいのですか、それとも一度ドキュメントを読めばすべて理解できるのですか?プリロード」に悩まされるのか、それともデータがまだ更新されていないときにエラーが出るだけなのか?
ちなみに、端末のバージョンは?
ps.新しいバーの 出現をさらに確認するにはどうしたらよいでしょうか?
私は問題が表示されない、新しいろうそくが ある - インジケータ/アドバイザーの最後のろうそくを再計算します。
新しいローソク足が1本以上ある - インジケータ/アドバイザの完全な再計算を行う。
これも同じで、新しいキャンドルが出現します。
もうひとつ、必要な期間は常に「プル」して更新する必要があります。
シンボル期間中に誰も作業していない場合(クォートがチェックされていない、インジケータが動作していない)、それは不要とみなされるため、「スリープ」状態になります。