Schau mal in die aktuellen Verbesserungen/Korrekturen: https://www.mql5.com/de/forum/353030:
![Die neue MetaTrader 5 Plattform build 2650: Verbesserungen beim Laden von Hintergrundcharts und des MQL5-Code-Profilers Die neue MetaTrader 5 Plattform build 2650: Verbesserungen beim Laden von Hintergrundcharts und des MQL5-Code-Profilers](https://c.mql5.com/36/41/die-neue-metatrader-5-plattform.jpg)
- 2020.10.09
- www.mql5.com
Hallo Carl,
ich habe gerade im MT5 nachgeschaut, die Änderung ist noch nicht aktualisiert.
Aber das Enscheidende ist ja, dass diese Änderung nur für MT5 gilt und nicht für MT4, oder?
VG
Steffen
Hallo Carl,
Aber das Enscheidende ist ja, dass diese Änderung nur für MT5 gilt und nicht für MT4, oder?
VG
Steffen
stimmt
wobei man eh nur empfehlen kann, endlich auf mt5 umzustellen
Nein, das ist auch keine elegante Lösung.
Nochmals es geht um die Bestimmung der Zeit einer Kerze im H1 aber auf einem neu geladenen Chart im M5.
Wäre die Zeit der Kerze im M5 auf einem neu geladenen M5-Chart zu ermitteln, dann würde das auch normal funktionieren.
Nein, das ist auch keine elegante Lösung.
Nochmals es geht um die Bestimmung der Zeit einer Kerze im H1 aber auf einem neu geladenen Chart im M5.
Wäre die Zeit der Kerze im M5 auf einem neu geladenen M5-Chart zu ermitteln, dann würde das auch normal funktionieren.
Das ist das Problem des Thread-Race. (Übrigens MT4-Fragen gehören in einen Thread weiter unten). MT4 lädt jede TF einzeln (MT5 nur mehr M1) und da passiert es, dass der Thread des EA weiterläuft, während im Hintergrund das Terminal immer noch auf die Daten wartet.
Du musst in onTick() oder onCalculate() daher abfragen, ob alles da ist und, wenn nicht, abbrechen (return(0)) und auf einen neuen Tick warten, da bei einem Indikator ja auch Sleep() nicht funktioniert.
Das wird sicher nicht mehr geändert - da bleibt nur der Umstieg auf MT5.
Hier ein Kommentar zu Mt4: https://www.mql5.com/ru/forum/352980/page9#comment_18706076
Unser Test-MetaQuotes-Demo-Server für MetaTrader 4 wird nicht mehr gewartet und wird nicht zur Verwendung empfohlen.
Verwenden Sie nur MetaTrader 5.
![Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода](https://c.mql5.com/36/41/novaya-versiya-platformi-metatrader.jpg)
- 2020.10.12
- www.mql5.com
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
MT4 hat ein Problem, wenn man ein Chart eines WP, welches "längere" Zeit nicht benutzt wurde, z.B. im M5 neu öffnet und danach das Programm lädt, in dem steht:
datetime draw_time = iTime(NULL, PERIOD_H1, 1);
dann steht in draw_time nicht die Zeit, welche für die vorletzte Kerze im H1 gilt.
Das hat bei mir schwerwiegende Folgen und kann nur sofort korrigiert werden, wenn z.B. nach
F7, ohne Ändern der Variablen nur OK gedrückt wird. Danach enthält die Variable draw_Time die richtige Zeit.
Dieses Phänomen ist mir auch aufgefallen, wenn man kurz nach dem Tageswechsel dieselbe Abfrage tätigt.
Wer kennt eine Möglichkeit die Historiendatenbank z.B. im OnInit() des Programm zu aktualisieren, bevor der EA
Berechnungen anstellt?
VG
Steffen