Die MQL5 Sprache hat eine spezielle Gruppe von Handelsfunktionen, mit denen man automatisierte Handelssysteme erstellen kann. Programme für den automatisierten Handel ohne menschliche Eingriffe sind Experten (Expert Advisor) oder Trading Roboter genannt. Um einen Experte in MetaEditor zu erstellen, starten sie den Assistent zur Erstellung von Experten MQL5 Wizard, und wählen Sie eine der Optionen:

Handelsfunktionen können nur in der Experten und Skripte arbeiten, in Indikatoren ist Handel verboten.
Um einen zuverlässigen Experten, der ohne menschliche Kontrolle automatisch funktionieren könnte, zu erstellen, ist es notwendig, eine Reihe von erforderlichen Kontrollen zu organisieren. Zuerst sollten wir programmatisch überprüfen, ob Handel überhaupt erlaubt ist. Dies ist eine Grundprüfung, die bei der Entwicklung eines automatisierten Systems unerlässlich ist.
Automatischer Handel für alle Programme kann im Terminal-Einstellungen verhindert oder erlaubt werden.

Sie können die Möglichkeit des automatisierten Handels direkt auf Standard-Panel des Terminals wechseln:
Beispiel der Überprüfung:
if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Wenn Sie eine Anwendung starten, können Sie automatischen Handel speziell für sie erlauben oder verhindern. Um dies zu tun, verwenden Sie die spezielle Kontrollkästchen in den Programmeigenschaften.

Beispiel der Überprüfung:
if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
|
Automatisierter Handel kann auf der Sote des Handelsservers verboten sein. Beispiel der Überprüfung:
if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
|
Wenn automatisierter Handel ist für ein Handelskonto deaktiviert, werden Handelsoperationen von Experten/Skripte nicht ausgeführt.
In einigen Fällen sind alle Handelsoperationen für ein bestimmtes Handelskonto verboten - man kann nicht entweder manuell oder mit der Hilfe von Experten handeln. Beispiel der Überprüfung, wenn man zum Konto mit dem Investor-Passwort verbinden versuchte:
if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
|
AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) kann in folgenden Fälle false zurück geben:
Sehen Sie auch
Zustand des Terminals, Information über das Konto, Information über das ausgeführte MQL5-Programm