Quellcode
OnTick vs. OnTimer in MQL5: Strukturieren Sie einen reaktionsfähigen EA
Ein EA ist ein ereignisgesteuertes Programm. Eine klare Trennung zwischen Einrichtung, Marktentscheidungen und Wartung hilft sowohl einem menschlichen Entwickler als auch einem KI-Codierungsassistenten, kleinere, sicherere Änderungen vorzunehmen.
Geben Sie jedem Hundeführer eine klare Verantwortung
Verwenden Sie OnInit für die Einrichtung und Eingabevalidierung und OnDeinit für die Bereinigung. OnTick empfängt neue Kursereignisse für das Diagrammsymbol. OnTimer verarbeitet Timer-Ereignisse, nachdem ein Timer abonniert wurde. Diese Einstiegspunkte sind eine nützliche Architekturkarte, wenn Sie ein unbekanntes Quellprojekt öffnen.
Sorgen Sie dafür, dass die Ereigniswarteschlange reaktionsfähig bleibt
MQL5 verarbeitet Ereignisse nacheinander für ein Programm. Wenn ein NewTick-Ereignis bereits in der Warteschlange steht oder verarbeitet wird, wird kein weiteres NewTick hinzugefügt. Daher verdienen lange Blockierungsarbeiten innerhalb eines Handlers Aufmerksamkeit. Eine Schleife, die unbegrenzt auf eine Bedingung wartet, ist kein Ersatz für ein ereignisbewusstes Design.
Arbeiten Sie bewusst regelmäßig
Ein Timer kann für eine Statusanzeige oder eine regelmäßige Verwaltung geeignet sein. Ein kürzerer Timer-Zeitraum kann auch die Arbeit des Testers erhöhen. Wählen Sie daher eine Frequenz, die einem sichtbaren Zweck dient. Ein Timer ist keine Garantie dafür, dass ein aktueller Marktkurs vorliegt, und er verbessert nicht automatisch die Ausführungsqualität.
Skizzieren Sie den Ablauf vor der Bearbeitung
- Listen Sie auf, was einmal beim Start passiert.
- Listen Sie auf, was jedes relevante Angebot erfordert.
- Listen Sie auf, was nur regelmäßig aktualisiert werden muss.
- Definieren Sie, wie das Programm reagiert, wenn Daten nicht verfügbar sind.
- Testen Sie das Herunterfahren und Neuinitialisieren sowie den Normalbetrieb.
Machen Sie es zu Ihrem mit MQLume
Bringen Sie eine klare Architektur in Ihren nächsten individuellen Build. MQLume bietet Ihnen bearbeitbare Projekte, die Sie lesen, kompilieren und verfeinern können, einschließlichQuantum Titan MT5.