[SERVICE DESK] Fehler beim Abrufen der Zeit der älteren TF im Timer! - Seite 11

 
Alexey Kozitsyn:

Wann ist Feierabend? Ich brauche eine Öffnungszeit...

Sie haben die letzte Bar offen Zeit überprüfen gehen überall, das ist, was Sie bekommen. Unmittelbar nach dem Öffnen des Terminals ist der Balken in OnInit noch nicht gebildet worden.

 
Konstantin Nikitin:

Sie haben die letzte Bar geöffnet Zeit überprüfen überall, das ist, was Sie bekommen. Unmittelbar nach dem Öffnen des Terminals hat sich der Balken in OnInit noch nicht gebildet.

...Kein Kommentar, ich habe keine Lust mehr, mit Ihnen zu reden.

 
Alexey Kozitsyn:

Frage! Warum werden frühere Daten ausgegeben, nachdem die Verbindung zum Server bereits hergestellt wurde? Es gab eine Vorababfrage nach Daten in OnInit(), eine Überprüfung, ob Daten geladen wurden, in jedem der CheckCurren...() Funktionen. Wie viele verdammte Kontrollen wir durchführen müssen, damit es richtig funktioniert...

Es gibt viele Symbole und Zeiträume, und wenn das Terminal lange Zeit offline war, muss es eine Menge Daten laden.
Damit Sie nicht auf das Laden der Daten warten müssen, das von der Geschwindigkeit des Internets und des Servers des Brokers abhängt, zeigt Ihnen das Terminal die vorherigen Daten sofort an.
Diejenigen, die bereits verfügbar sind.

Es handelt sich also nicht um eine "Krückenlösung", sondern um eine notwendige Prüfung zum Laden der letzten Kerze.

ps. Wie können Sie das Aussehen eines neuen Balkens weiter überprüfen?

 
Taras Slobodyanik:

Es gibt viele Symbole und Zeiträume, und wenn das Terminal lange Zeit offline war, müssen viele Daten heruntergeladen werden.
Damit Sie nicht auf diesen Download warten müssen, der von der Geschwindigkeit des Internets und des Servers des Brokers abhängt, zeigt Ihnen das Terminal sofort die vorherigen Daten an.
Diejenigen, die bereits verfügbar sind.

Es handelt sich also nicht um eine "Krückenlösung", sondern um eine notwendige Prüfung zum Laden der letzten Kerze.

Spüren Sie das Logikproblem? Wenn der Verlauf noch nicht geladen ist, gebe ich "etwas" aus und warte, bis die Daten aktualisiert werden. Und es spielt keine Rolle, ob die Daten korrekt sind oder nicht...

Und selbst wenn das Terminal für 5-10 Minuten offline ist - das ist der gleiche Unsinn. Auch wenn nur 3 Zeichen im Datenfenster stehen - der gleiche Unsinn. Alle Kontrollen wurden durchgeführt - der gleiche Unsinn.

Sie wissen, dass die Ratschläge des Entwicklers zum korrekten Laden NICHT FUNKTIONIEREN. Sagt Ihnen das gar nichts?

 
Update 1126 ist jetzt auf MQDemo angekommen... Ich werde am Montag mehr über diese Version erfahren.
 
Alexey Kozitsyn:

Spüren Sie ein logisches Problem? Wenn die Geschichte noch nicht hochgeladen wurde, und lassen Sie mich "etwas" ausgeben und warten, bis die Daten aktualisiert werden. Und es spielt keine Rolle, ob die Daten korrekt sind oder nicht...

Diese Logik gilt nur für das erste Lauf-Öffnen-Symbol.
Das Terminal weiß nicht, ob es noch mehr Candlesticks gibt, es gibt nur das aus, was es hat.

Dann erscheint die letzte Kerze.

 
Taras Slobodyanik:

Diese Logik funktioniert nur, wenn Sie ein Symbol zum ersten Mal öffnen.
Das Terminal weiß nicht, ob es noch weitere Kerzen geben wird, es gibt Ihnen, was es hat.

Dann erscheint die letzte Kerze.

Ich habe meinen Beitrag aktualisiert.

Sagen Sie mir, wollen Sie jedes Mal stundenlange Arbeit investieren, um solche Feinheiten herauszufinden, oder wollen Sie die Dokumentation einmal lesen und alles verstehen? Wollen Sie sich mit "Preloads" herumschlagen oder nur eine Fehlermeldung erhalten, wenn die Daten noch nicht aktualisiert wurden?

 
Taras Slobodyanik:

Übrigens, welche Version des Terminals haben Sie?

 
Taras Slobodyanik:

ps. wie können Sie das Erscheinen eines neuen Balkens weiter überprüfen?

//+------------------------------------------------------------------+
//| Проверяем образование нового часа                                |
//+------------------------------------------------------------------+
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 );
        }
 

Ich sehe kein Problem, es gibt eine neue Kerze - berechnen Sie die letzte Kerze des Indikators/Ratgebers neu.
Es gibt mehr als eine neue Kerze - führen Sie eine vollständige Neuberechnung des Indikators/Ratgebers durch.
Dies ist dasselbe - eine neue Kerze erscheint.

Eine weitere Sache - die erforderlichen Zeiträume sollten ständig "gezogen" werden, um sie zu aktualisieren.
Wenn niemand an der Symbol-Periode arbeitet (Anführungszeichen werden nicht überprüft, der Indikator läuft nicht), dann "schläft" er ein, weil er als nicht benötigt wird.

Grund der Beschwerde: