Zeitschaltuhr - Seite 7

 
Yurich:
wenn nur :)
Es muss für Entwickler einfacher sein, sonst müssten sie erklären, dass globale Variablen im OnTick-Handler nur zur Hälfte geändert werden können, wenn ein Timer-Ereignis eintritt und das Programm darauf umschaltet.
 
Verwenden Sie MessageBox nicht unbedacht.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox - Документация по MQL5
 
pusheax:
Dies ist für Entwickler wahrscheinlich einfacher, da sie sonst erklären müssten, dass globale Variablen nur dann auf halbem Weg im OnTick-Handler geändert werden können, wenn ein Timer-Ereignis eingetreten ist und das Programm auf dieses umgeschaltet hat.
Hierfür gibt es kurze "ununterbrochene Blöcke". Die Unterbrechung wartet, bis der Vorgang abgeschlossen ist, und bricht dann ab.
 
Yurich:
wenn nur :)
Ganz genau.
 
TheXpert:
Ich möchte die MessageBox nicht unüberlegt einsetzen.
Deshalb musste ich zwei Threads in YuTrade erstellen, um das Überspringen von Ereignissen zu vermeiden. Und mit Interrupts würde alles in einem Thread ablaufen.
 
MetaDriver:
Hierfür gibt es kurze "ununterbrochene Blöcke". Die Unterbrechung wartet in jedem Fall, bis sie abgeschlossen ist, und unterbricht dann.

Das wusste ich überhaupt nicht, und ich schrieb in der Annahme, dass es zu einer Unterbrechung kommen könnte und die Daten nicht vollständig verarbeitet werden würden.

Setzen Sie Flaggen zum Starten und Beenden der Verarbeitung.

 
Yurich:
Eine Unterbrechung liegt vor, wenn OnTick ausgeführt wird und ein wichtigeres Ereignis, wie OnTimer, eingetroffen ist. Die Ausführung von OnTick wird angehalten, der OnTimer-Code wird ausgeführt und dann wird OnTick erneut ausgeführt.
Alles in allem brauchen Sie eine Art von Multithreading.
 
Yurich:
Und bei Unterbrechungen würde alles im selben Thread stehen.
Ah, schlechtes Argument. So wie es jetzt ist - gut.
 
pusheax:

Und ich wusste überhaupt nichts davon und schrieb mit der Möglichkeit, dass es eine Unterbrechung geben könnte und die Daten nicht vollständig verarbeitet würden.

Ich setze Flaggen zum Starten und Beenden der Verarbeitung.

Jetzt geht es los: Die Öffentlichkeit ist schon auf halbem Wege, Sie können getrost eintreten.

;)

 
Interesting:
Für Kindergärten ist im Allgemeinen zumindest ein gewisses Maß an Multithreading erforderlich.
Vielleicht fügen die Entwickler sie irgendwann später hinzu: CreateThread(NULL,0,CaptureThread,0,CREATE_SUSPENDED,&ThreadId); ?