Es gibt eine interessante Handelsidee. Helfen Sie mir, Fehler im Code zu finden (mql4). - Seite 7

 
Sergey Gritsay:
Diese Variante ist geeignet, wenn Sie einen Ein-Währungs-EA haben, wenn Sie einen Mehrwährungs-EA machen, dann sollten Sie Indikatoren für alle Paare im Iniq erstellen.
Verstehe - diesen Punkt habe ich übersehen. Bedeutet das, dass alle Währungen, die im Terminal geöffnet sind, berücksichtigt werden?
 
Die MT5-Version braucht mehr Arbeit, die Version, die ich gepostet habe, ist ziemlich fehlerhaft
 
Сергей Криушин:
Verstehe - diesen Punkt habe ich übersehen. Heißt das, dass alle Währungen, die im Terminal geöffnet sind, berücksichtigt werden?

ja

 

Hallo zusammen, ich habe meinen EA für MT5 mit Standardklassen neu geschrieben. Bis jetzt ist der Flug in Ordnung. Testen wir ihn und melden wir eventuelle Fehler. Um den EA im Visualisierungsmodus im Tester zu testen, sollte ich die benötigten Symbole vorgeben, die Funktion sieht wie folgt aus

bool symbol_tester(string symbol)
  {
   if(!MQLInfoInteger(MQL_VISUAL_MODE))return(true);
//if(!MQLInfoInteger(MQL_TESTER))return(true);
//if(!MQLInfoInteger(MQL_OPTIMIZATION))return(true);

   if(symbol=="EURUSD")return(true);
   if(symbol=="AUDUSD")return(true);
   if(symbol=="GBPUSD")return(true);
   if(symbol=="USDCAD")return(true);
   if(symbol=="USDCHF")return(true);
   if(symbol=="USDJPY")return(true);
   if(symbol=="NZDUSD")return(true);
   if(symbol=="GBPCAD")return(true);

   return(false);
  }
Dateien:
 

Irgendetwas stimmt mit den Blinkerklassen nicht oder sie sind wirklich schwer, der Tester verliert vor meinen Augen an Geschwindigkeit. Im Allgemeinen habe ich die Indikatorverarbeitung ohne Standardklassen überarbeitet. Außerdem wurde eine Auswahl an Signalen hinzugefügt.

signal_01 - wenn cci(13) kleiner als -100 für Kauf, über 100 für Verkauf ist.

signal_02 - wenn der cci(13) -100 von oben nach unten kreuzt für kaufen, wenn der cci(13) 100 von unten nach oben kreuzt für verkaufen

signal_03 - wenn cci(13) -100 von unten kreuzt für Verkauf, wenn cci(13) 100 von oben kreuzt für Verkauf

signal_04 - wenn cci(13) 100 von unten nach oben kreuzt, wenn cci(13) -100 von oben nach unten kreuzt für verkaufen

signal_05 - wenn cci(13) über 100 für Kauf, unter -100 für Verkauf kreuzt.

Einige Pannen im Panel wurden behoben, die Trendsuche beim Neustart des EA wurde korrigiert.

Dateien:
 
eine Auswahl von Signalen in der mt4-Version hinzugefügt
Dateien:
 

Der Fehler wurde korrigiert, indem die Anschläge falsch gesetzt wurden. Mir ist auch aufgefallen, dass im MT5-Tester der Expert Advisor in der Funktion OnTick() schneller läuft als in OnTimer(). Daher empfehle ich, sie im Code zu ersetzen, wenn er auf dem Tester läuft.

Dateien:
 
Sergey Gritsay:

Der Fehler wurde korrigiert, indem die Anschläge falsch gesetzt wurden. Mir ist auch aufgefallen, dass im MT5-Tester der Expert Advisor in der Funktion OnTick() schneller läuft als in OnTimer(). Daher empfehle ich, sie im Code zu ersetzen, wenn er auf dem Tester läuft.

Im Strategy Tester funktioniert es überhaupt nicht... Es ist unklar, wie es Lots macht, ohne im MT5 zu stoppen und Positionen auf Paaren platziert, die nicht im Terminal vorhanden sind: USDSEK; USD ZAR; USDMXM, aber sie sind in Market Watch... vielleicht ist das der Grund, warum das Testgerät langsamer wird...

 
die Tabelle wurde 2 Spalten im Vollbildmodus - eine Spalte
 

Fehler behoben. Geprüfte Instrumente in Eingabeparametern, mit Komma geschrieben. Überprüft auf Futures auf Demo funktioniert auch.

Dateien: