[SERVICE DESK】タイマーでシニアTFの時刻を取得する際にエラーが発生!? - ページ 11

 
Alexey Kozitsyn:

閉店時間は?開店時間が欲しい...。

最後のバーの開店時間 チェックがあちこちで行われているんですね、これが。端末を開いた直後は、OnInitでまだバーが形成されていない状態です。

 
Konstantin Nikitin:

どこもかしこも最後のバーの開店時間 チェックをしているんですね、これが。端末を開いた直後は、OnInitでまだバーが形成されていない。

...ノーコメントだ、お前との話は終わりだ。

 
Alexey Kozitsyn:

Question!OnInit()でデータのプレクエリ、CheckCurren...()の各関数でデータの読み込みのチェックがありましたが、すでにサーバーとの接続が確立されているのに、なぜ前のデータを出力するのでしょうか?ちゃんと動くようにするために、どれだけ血のにじむようなチェックをしなければならないか......。

シンボルやピリオドが多く、端末が長い間オフラインだった場合、多くのデータを読み込む必要があるのです。
インターネットとブローカーのサーバーの速度に依存するこの読み込みを待つ必要がないように、端末は一度に以前のデータを提供します。
すでに発売されているもの

つまり、「松葉杖の解決策」ではなく、最後のキャンドルをロードするために必要なチェックなのです。

ps.新しいバーの 出現をさらに確認するにはどうしたらよいでしょうか?

 
Taras Slobodyanik:

シンボルやピリオドが多く、端末が長時間オフラインの場合は、多くのデータをダウンロードする必要があります。
インターネットとブローカーのサーバーの速度に依存するこのダウンロードの待ち時間を避けるために、端末はすぐに以前のデータを提供します。
すでに発売されているもの

したがって、それは "松葉杖の解決策 "ではなく、最後のろうそくをロードするために必要なチェックである。

ロジックの問題を感じますか?履歴がまだ読み込まれていない場合は、"何か "を出力させて、データが更新されるまで待ちます。そして、そのデータが正しいかどうかは関係ない...。

さらに、端末が5~10分オフラインになったとしても、同じように無意味です。データウィンドウに 3文字しか表示されなくても、同じように無意味なことです。すべてのチェックは終了しています。

開発者のアドバイスが正しく機能しないことはご理解いただけたと思います。あなたには意味がないのでしょうか?

 
MQDemoにUpdate 1126が届きました...このバージョンについては、月曜日に詳しく確認する予定です。
 
Alexey Kozitsyn:

ロジックに問題があると感じますか?まだ履歴がアップロードされていない場合は、「何か」を出して、データが更新されるまで待たせてください。そして、そのデータが正しいかどうかは関係ない...。

このロジックは、最初のラン・オープン・シンボルのみである。
端末はローソク足がまだあるかどうかわからず、持っているものを出します。

そして、最後のキャンドルが現れる。

 
Taras Slobodyanik:

このロジックが機能するのは、シンボルを最初に実行したときだけです。
端末はこれ以上ロウソクが増えるかどうかわからないから、今あるものを提供する。

そして、最後のキャンドルが現れる。

記事を更新しました。

教えてください、そのようなニュアンスを理解するために毎回何時間もかけて作業したいのですか、それとも一度ドキュメントを読めばすべて理解できるのですか?プリロード」に悩まされるのか、それともデータがまだ更新されていないときにエラーが出るだけなのか?

 
Taras Slobodyanik:

ちなみに、端末のバージョンは?

 
Taras Slobodyanik:

ps.新しいバーの 出現をさらに確認するにはどうしたらよいでしょうか?

//+------------------------------------------------------------------+
//| Проверяем образование нового часа                                |
//+------------------------------------------------------------------+
bool CheckNewHour()     
        {
         //--- Сбрасываем код последней ошибки
         ResetLastError();
         //--- Получаем время открытия текущего часа
         const datetime hOpenTime = iTime( _Symbol, PERIOD_H1, 0 );
         //--- Проверяем корректность полученного времени
         if( hOpenTime == 0 || GetLastError() != 0 )            // Если возникла ошибка или время не получено
                 return( false );                                                                               // Возвращаем ложь
         //--- Сравниваем полученное время с сохраненным
         if( hOpenTime == _hourOpenTime )                                       // Если время совпадает
                 return( false );                                                                               // Возвращаем ложь
         //--- Запоминаем время нового часа
         _hourOpenTime = hOpenTime;
         //--- Возвращаем истину
         return( true );
        }
 

私は問題が表示されない、新しいろうそくが ある - インジケータ/アドバイザーの最後のろうそくを再計算します。
新しいローソク足が1本以上ある - インジケータ/アドバイザの完全な再計算を行う。
これも同じで、新しいキャンドルが出現します。

もうひとつ、必要な期間は常に「プル」して更新する必要があります。
シンボル期間中に誰も作業していない場合(クォートがチェックされていない、インジケータが動作していない)、それは不要とみなされるため、「スリープ」状態になります。