MQL4 zu MQL5: Äquivalent zu IsTesting()

MQL4 und MQL5 sind unterschiedlicher als viele MetaTrader 4 und 5 Nutzer ahnen. Hier und heute eine noch relativ einfache "Übersetzung" von MT4-Code nach MT5-Code für Expert Advisors (EA's), Skripte und Indikatoren.

Die Funktion bool IsTesting() in MQL4 prüft, ob der EA (oder das Skript oder der Indikator) im Test- oder im Live-Betrieb läuft - unabhängig davon ob wir uns in einem Demo- oder Echtgeldkonto befinden. Die Funktion IsTesting() gibt den Wert TRUE zurück, wenn der EA im Strategietester läuft, FALSE dagegen, wenn sie in einem Chart durchlaufen wird.

In MQL5 ist diese Funktion nicht verfügbar. Was tun? Nicht verzagen, denn die "Übersetzung" ist nahe:

Wir können im MT5-Code die Funktion int MQLInfoInteger(int  property_id) mit Abfrage-Parameter MQL_TESTER nutzen. Also z.B.:

if ( MQLInfoInteger ( MQL_TESTER ) == 1 ) Print ( "EA im Testmodus" );
if ( MQLInfoInteger ( MQL_TESTER ) == 0 ) Print ( "EA im Livebetrieb" );

Viele Grüße,
Ihr EA Programmierer Cristof Ensslin mit dem Team von mindful FX