Handelserlaubnis

Handelsautomatisierung

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:

  • Expert Advisor (template) – ermöglicht eine Vorlage mit bereite Event-Handling-Funktionen erstellen, die soll mit allen notwendigen Funktionen durch Selbstprogrammierung ergänzt werden.
  • Expert Advisor (generate) – ermöglicht einen fertigen Trading Roboter zu erstellendurch die Auswahl der Module, die Sie benötigen: Modul der Handelssignale, Geld-Management-Modul und Trailing-Stop-Modul.

MQL5_Wizard

Handelsfunktionen können nur in der Experten und Skripte arbeiten, in Indikatoren ist Handel verboten.

Überprüfung der Erlaubnis zum automatischen Handel

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.

Überprüfung der Erlaubnis zum automatischen Handel im Terminal

Automatischer Handel für alle Programme kann im Terminal-Einstellungen verhindert oder erlaubt werden.

TERMINAL_TRADE_ALLOWED

Sie können die Möglichkeit des automatisierten Handels direkt auf Standard-Panel des Terminals wechseln:  

  • AutoTrading_enabled– automatischer Handel ist erlaubt, Verwendung von Handelsfunktionen in laufenden Anwendungen ist erlaubt.
  • AutoTrading_disabled – automatischer Handel ist verboten, die laufende Anwendungen funktionieren, aber die Handelsfunktionen können nicht ausgeführt werden.

Beispiel der Überprüfung:

if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) 
   Alert("Überprüfen Sie Erlaubnis zum automatischen Handel in Terminal-Einstellungen!");

 

Überprüfung der Erlaubnis zum Handel für den laufenden Experte/Skript

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.

MQL_TRADE_ALLOWED

Beispiel der Überprüfung:

   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alert("Überprüfen Sie Erlaubnis zum automatischen Handel in Terminal-Einstellungen!");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alert("Automatischer Handel ist verboten in Programmeigenschaften für ",__FILE__);
     }

 

Überprüfung der Erlaubnis zum Handel für Experten/Skripte für dieses Konto

Automatisierter Handel kann auf der Sote des Handelsservers verboten sein. Beispiel der Überprüfung:

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alert("Automatischer Handel ist für das Konto ",AccountInfoInteger(ACCOUNT_LOGIN),
      " auf der Seite des Handelsservers verboten");

Wenn automatisierter Handel ist für ein Handelskonto deaktiviert, werden Handelsoperationen von Experten/Skripte nicht ausgeführt.

Überprüfung der Erlaubnis zum Handel für dieses Konto

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))
      Comment("Handel ist verboten für das Konto ",AccountInfoInteger(ACCOUNT_LOGIN),
            ".\n Vielleicht ist Investor-Passwort für die Verbindung mit dem Handelskonto verwendet.",
            "\n Überprüfen Sie das Terminal-Protokoll, ob es einen solches Rekord gibt:",
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");

AccountInfoInteger(ACCOUNT_TRADE_ALLOWED) kann in folgenden Fälle false zurück geben:

  • keine Verbindung mit dem Handelsserver. Kann durch TerminalInfoInteger(TERMINAL_CONNECTED) überprüft werden;
  • Handelskonto ist auf den Modus read-only )in das Archiv gesendet) übertragen;
  • Handel auf das Konto ist auf der Seite des Handelsservers verboten;
  • Verbindung zum Handelskonto ist im Investor-Modus.

 

Sehen Sie auch

Zustand des Terminals, Information über das Konto, Information über das ausgeführte MQL5-Programm