Diskussion zum Artikel "Welche Überprüfungen der Handelsroboter vor der Veröffentlichung in Market bestehen soll" - Seite 7

 

Leute, was ist in einer ähnlichen Situation zu tun?

Roboter für FORTS Markt

Handel von Dichten in den Stapel, unter einer bestimmten Dichte setzen Grenze und weitere Wartung, aber in der Tester-Stack nicht funktioniert, wie in einer solchen Situation, um den Test für die Veröffentlichung übergeben, habe ich versucht, korrigierte ich die Fehler, aber er kann nicht den Test + versucht, auf dem Forex-Markt, für die der Roboter nicht auf allen, weil der Roboter arbeitet auf der Flipper-Preise des Stapels, alle Berechnungen und Ereignis-Modell gebunden ist, um die Ereignisse in den Stapel zu testen.

 
Erklären Sie den Marktmoderatoren die Situation in den Kommentaren.
 

Guten Tag!

Das Skript Check_OrderLevels.mq4 hat einen Fehler bei der Gewinnmitnahmeprüfung.

//--- Überprüfung, ob es Änderungen im Takeprofit-Level gibt
      bool TakeProfitChanged=(MathAbs(OrderTakeProfit()-sl)>tp)
 
Andrej Hermann:

Guten Tag.

Das Skript Check_OrderLevels.mq4 hat einen Fehler bei der Gewinnmitnahmeprüfung.

Danke, korrigiert

 

FRAGE zum automatischen Testen.

Früher hatte ich in meinen Handelsrobotern Eingabeparameterprüfungen in die OnInit-Funktion geschrieben. Und das automatische Testen hat sie nicht "beschimpft".

Jetzt zeigt der Test einen Initialisierungsfehler an:


Warum kann ich die Ausführung eines Programms mit falschen Parametern nicht stoppen?


 

Guten Tag!


Ich habe bereits versucht, meinen EA hochzuladen, aber wenn ich browse und auf upload klicke, sehe ich die Meldung "Datei für Profiling kompiliert " Könnten Sie mir bitte sagen, was ich tun soll?


Danke

 

Beim automatischen Testen erhalte ich diesen Fehler. Wie kann ich ihn in einem normalen Tester reproduzieren, da ich dort keine solchen Probleme habe. Und die zweite Frage: Wie kann ich ihn beheben?

test on EURUSD,H1 (hedging)
 2016.04.29 20:20:01   failed instant sell 2.00 EURUSD at 1.14491, close #20  buy 2.00 EURUSD 1.14426 [Modification failed due to order or position being close to market]
 2016.04.29 20:20:02   failed instant sell 2.00 EURUSD at 1.14490, close #20  buy 2.00 EURUSD 1.14426 [Modification failed due to order or position being close to market]
 2016.04.29 20:20:02   failed instant sell 2.00 EURUSD at 1.14491, close #20  buy 2.00 EURUSD 1.14426 [Modification failed due to order or position being close to market]
 
Alexandr Gavrilin:

Beim automatischen Testen erhalte ich diesen Fehler. Wie kann ich ihn in einem normalen Tester reproduzieren, da ich dort keine solchen Probleme habe. Und die zweite Frage: Wie kann ich ihn beheben?

Die Änderung ist fehlgeschlagen, weil der Auftrag oder die Position nahe am Markt war.

Wahrscheinlich wurde der Freeze-Level-Stopl-Level-Check übersehen.... Das ist mir noch nicht begegnet, aber das ist wahrscheinlich der Grund.

 

Ich habe einen Mehrwährungsindikator und die Namen der Symbole sind in den Eingabeparametern angegeben. In meinem Terminal funktioniert er (er findet die Symbole), aber beim Testen für die Veröffentlichung kann er keine Symbole finden, die in den Eingabeparametern standardmäßig angegeben sind.

Was kann ich in dieser Situation tun?


Hier ist der Code, der für die Überprüfung des Vorhandenseins von Eingabezeichen in der Initialisierung verantwortlich ist

//--- Prüfung auf Korrektheit der eingegebenen Zeichen -----------------
   bool s1 = false, s2 = false, s3 = false;
   for(int s = 0; s < SymbolsTotal(true); s++)
     {
      if(SymbolName(s,true) == symbol1) {s1 = true;};
      if(SymbolName(s,true) == symbol2) {s2 = true;};
      if(SymbolName(s,true) == symbol3) {s3 = true;};
     };
   s3 = (s3 == false && visualize == qs2 ? true : s3);
   if(s1 == false) {Print("Symbol ",symbol1," nicht gefunden (Symbol #1)"); return(INIT_FAILED);};
   if(s2 == false) {Print("Symbol ",symbol2," nicht gefunden (Symbol #2)"); return(INIT_FAILED);};
   if(s3 == false) {Print("Symbol ",symbol3," nicht gefunden (Symbol #3)"); return(INIT_FAILED);};
 

Auch für den Tester gibt es einen Hinweis in der Hilfe: für den Tester ist es notwendig, die Symbolauswahl in OnInit zu erzwingen. Das heißt, zuerst SymbolSelect um drei Symbole und erst dann testen.

Testen mit mehreren Währungen

Особенности тестирования - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Особенности тестирования - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха, ему неведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...