Strategie-Tester. - Seite 8

 
<br / translate="no"> Wählen Sie im Protokoll das Kontextmenü, um es zu öffnen. Öffnen Sie die entsprechende Protokolldatei und sehen Sie nach, ob sie ausgegeben wurde oder nicht. Die Registerkarte "Protokoll" gibt die Daten asynchron und zeitgesteuert aus, um den Tester nicht zu verlangsamen, so dass Daten in der Registerkarte (und nicht im Protokoll, d. h. nicht im Protokoll selbst) verloren gehen können.

Gut, dass du es mir gesagt hast :) Bald würde alles zusammenbrechen. Die Protokolldatei ist bereits etwa 2 GB groß.
 
Bei verschiedenen Expert Advisors erzeugt der Tester bei der Optimierung sehr oft leere Ausgabedaten, indem er alle Zyklen durchläuft, aber keine Operationen durchführt. Weiß jemand, warum das passiert?
 
Ich glaube, ich habe den "Bug" wiedergefunden! :)
Ich weiß nicht mehr, ob ich jemals darüber geschrieben habe...
Wie sich herausstellte, war das Problem folgendes:
if(CurTime()-OrderOpenTime()<900) return(0);


Aus irgendeinem Grund setzt der Optimierer den Zähler nicht auf "Null" (oder was auch immer das ist) zurück. Und wahrscheinlich zählt die Gesamtzeit, nicht die Testzeit. Im Allgemeinen weiß ich nicht, was und wie es nicht richtig gemacht wird, aber ich verbrachte eine Menge Nerven, während ich fangen. :) Falls jemand das gleiche Problem hat, bitte ich um Beachtung!

 
Beim Testen der Strategie gibt es Eingänge an Stellen, an denen dies auf den ersten Blick nicht der Fall sein sollte. Ich habe drei Tage meines Lebens verschwendet. Und wofür? Sehen Sie Zahlen über dem Balken? Die erste Zahl ist der Wert des Indikators (rote Linie). Sie beträgt 1,3014. Die zweite Zahl ist der untere Balkenwert, der an das Programm zurückgegeben wird. Auf dem Diagramm ist zu erkennen, dass das Tief unter der Linie des Indikators liegt. Und der Tiefststand dieses Balkens liegt bei 1,3012. Das Programm erhält jedoch den Wert 1,3015. Jetzt verstehe ich, warum es hier auslöst.
 
Erklären Sie mir, was mit mir los ist?

Hier ist das Programm:
//+------------------------------------------------------------------+ int i; //+------------------------------------------------------------------+ int init () { return(0); } int deinit() { return(0); } int start() { i++; CreateArrow(DoubleToStr(i,0),Time[0],High[0],108,Aqua); i++;
  CreateArrow(DoubleToStr(i,0),Time[0],Low[0],108,Yellow); return(0); } void CreateArrow(string name, datetime time1, double price1, int code_arrow, int clr) { ObjectCreate(name,OBJ_ARROW,0,time1,price1);
  ObjectSet(name,OBJPROP_ARROWCODE,code_arrow); ObjectSet(name,OBJPROP_COLOR,clr); }



Hier sind die Ergebnisse des Testlaufs

 
Siehe die Antwort im Alpari-Forum, ich bin zu faul, zweimal zu schreiben.
 
Siehe die Antwort im Alpari-Forum, ich bin zu faul, zweimal zu schreiben.

Geben Sie den Link ein
 
Смотри ответ на форуме Альпари , два раза лень писать.

Geben Sie den Link ein


http://forum.alpari-idc.ru/viewtopic.php?p=220941#220941
 
Es ist alles ganz einfach. Meines Erachtens befinden sich die Tests im Modus der Balkenöffnung.
Wie hoch ist der Höchst- und Tiefstwert des gerade entstehenden Balkens?
Hinweis: Open=High=Low=Close, Volume=1

Das ist übrigens auch der Grund, warum der erste Pfeil mit der Farbe Aqua direkt unter dem zweiten gelben Pfeil steht.
 
Es ist ganz einfach. Meines Erachtens befinden sich die Tests im Modus der Balkenöffnung. <br / translate="no"> Was ist das Hoch und Tief der Bar, die gerade eröffnet wurde?
Hinweis: Open=High=Low=Close, Volume=1

Das ist übrigens auch der Grund, warum der erste Pfeil mit der Farbe Aqua direkt unter dem zweiten gelben Pfeil steht.

Danke für die Klarstellung.