Strategietester: Springen zu bspw. 00:16:40; also zu einer bestimmten Sekunde vorspulen oder wenigstens Minute

Einloggen oder registrieren, um einen Kommentar zu schreiben
lindomatic
323
lindomatic  

Hallo super MQL5-Supportteam,

klappt das irgendwo & irgendwie? Ich sehe es zwar dieses "Überspringen auf", aber das tut's nicht in Kombination mit dem STRG-F5 step-by-step debugging;
oder mache ich nur mal wieder etwas falsch? Also ich tippe gerade immer ca. 1000x auf F5 um an die Stelle zu kommen, wo ich hin muss.
Man kann ja als Zeitrahmen des Testers nur Tage angeben, keine Stunden und Minuten.

Vielen Dank & Grüße,
Christian

Carl Schreiber
Moderator
9932
Carl Schreiber  

Mach doch einfach

if (TimeCurrent()> D'2020.04.15 12:00') DebugBrteak();
lindomatic
323
lindomatic  
Carl Schreiber:

Mach doch einfach

=) danke Dir

lindomatic
323
lindomatic  
Carl Schreiber:

Mach doch einfach

Ich stelle mich leider wieder dumm an.. wo platziere ich den DebugBreak, OnTick, OnInit? Klappt beides nicht.. ich müsste wohl hierfür alle anderen DebugBreaks rausnehmen, das

ist ja auch nicht, was ich will..

Ich lese gerade:
   Verwendung OOP Variante:
   ------------------------
   1.)  mqh einbinden
   
   #include <Tester\StopAtDate.mqh>
   
   2.)Einsatz in der OnTick()

   void OnTick()
   {
                                                   // Code vorher
      
      if(StopAtDate.Check("2018.01.17", "20:19"))  // prüfen der Zeit
         DebugBreak();                             // hier hält das Programm an
      
                                                   // Code nachher

   }


.. also in OnTick.. ich teste das gerade..


Ja, das funktioniert nur, wenn ich alle anderen Breaks rausnehme.. das hilft ja nicht, die brauche ich doch zum Debuggen..


Ok, erst dorthin laufen lassen, dann wieder meine anderen Breaks im Metaeditor reinklicken, bisskes doof und man fragt sich, wieso man im ST nicht einfach hinspulen kann.. aber man muss sich halt iwie helfen..

Danke für Deinen Code!

VG

Christian
3220
Christian  

Das funktioniert auf jeden Fall.

Auch mit anderen Breakpoints. Egal ob gesetzt oder mit DebugBreak().

Das muss in die OnTick() weil das der Taktgeber des EAs ist.


Wenn er andere BrekPoints anläuft muss du die Bedingung anpassen...logisch oder '?

Carl Schreiber
Moderator
9932
Carl Schreiber  
Vielleicht hilft Dir dieser Artikel: https://www.mql5.com/de/articles/654
Zur Fehlerbehebung von MQL5-Programmen (Debugging)
Zur Fehlerbehebung von MQL5-Programmen (Debugging)
  • www.mql5.com
Dieser Artikel richtet sich primär an Programmierer, die die Sprache zwar bereits gelernt haben, die allerdings noch keine Meister ihres Fachs sind. Dabei geht der Artikel auf die wichtigste Elemente ein, mit denen sich Entwickler auseinandersetzen müssen, wenn sie ein Programm debuggen wollen. Was also verstehen wir unter Fehlerbehebung...
lindomatic
323
lindomatic  
Christian:

Das funktioniert auf jeden Fall.

Auch mit anderen Breakpoints. Egal ob gesetzt oder mit DebugBreak().

Das muss in die OnTick() weil das der Taktgeber des EAs ist.

Wenn er andere BrekPoints anläuft muss du die Bedingung anpassen...logisch oder '?


Wenn ich Bedingungen bei jedem Tick abfrage, wird dort jeden Tick gehalten, bis ich endlich ein paar Stunden weiter bin. Von daher müssen zunächst alle BreakPoints raus, sonst springt der Tester da nicht hin.

OnTick ist klar, ja, danke.

Meine Bedingungen müssen jeden Tick geprüft werden, also habe ich keine Wahl.

Die Grundlagen für Tests in MetaTrader 5
Die Grundlagen für Tests in MetaTrader 5
  • www.mql5.com
Die Vorstellung des automatischen Handels ist sehr reizvoll, da ein Handels-Roboter ununterbrochen arbeiten kann - 24 Stunden pro Tag und 7 Tage die Woche. Ein Roboter wird niemals müde, unsicher oder verschreckt, da er psychologische Probleme schlicht weg nicht kennt. Ihm genügt es, wenn die Handelsregeln ausreichend formalisiert und in...
lindomatic
323
lindomatic  
lindomatic:

Wenn ich Bedingungen bei jedem Tick abfrage, wird dort jeden Tick gehalten, bis ich endlich ein paar Stunden weiter bin. Von daher müssen zunächst alle BreakPoints raus, sonst springt der Tester da nicht hin.

OnTick ist klar, ja, danke.

Meine Bedingungen müssen jeden Tick geprüft werden, also habe ich keine Wahl.

Ja, den Artikel kenne ich.. dazu sagt der aber nichts.

Die Antwortfunktion ist hier ulkig, ich weiß nie, wo das landet..

Carl Schreiber
Moderator
9932
Carl Schreiber  
lindomatic:

Ja, den Artikel kenne ich.. dazu sagt der aber nichts.

Die Antwortfunktion ist hier ulkig, ich weiß nie, wo das landet..

Naja, dann verstehe ich jetzt nicht, was Du in welcher Situation mit welchen Mitteln erreichen willst, das aber nicht klappt.

Christian
3220
Christian  
lindomatic:

Wenn ich Bedingungen bei jedem Tick abfrage, wird dort jeden Tick gehalten, bis ich endlich ein paar Stunden weiter bin. Von daher müssen zunächst alle BreakPoints raus, sonst springt der Tester da nicht hin.

OnTick ist klar, ja, danke.

Meine Bedingungen müssen jeden Tick geprüft werden, also habe ich keine Wahl.

Wenn du 2 Zeitpunkte vergleichst und der linke höher wird wird er immer höher sein oder ?

Du musst, wenn du den BreakPoint nur EINMAL möchtest eben einen MERKER einbauen.

So das die Bedingung beim 2. Mal nicht mehr wahr ist.

lindomatic
323
lindomatic  
Christian:

Wenn du 2 Zeitpunkte vergleichst und der linke höher wird wird er immer höher sein oder ?

Du musst, wenn du den BreakPoint nur EINMAL möchtest eben einen MERKER einbauen.

So das die Bedingung beim 2. Mal nicht mehr wahr ist.

Um meine Bedingungen des Positionshandlings zu überprüfen, müssen meine Haltepunkte zu jedem Tick ziehen.
Sagen wir mal, um 10:00 sehe ich im Log, dass es anfängt krumm zu laufen, da muss ich hin; der ST startet bekannterweise um 0:00.
Die einzige Möglichkeit, die ich gerade sehe ist, alles meine Haltepunkte rausnehmen, Deinen Code nutzen und via StopAtDate den ST nach 10:00 durchlaufen lassen,
und dann meine Haltepunkte wieder reinpacken, das funktioniert. Ist halt doof, dass ich nicht direkt dort starten kann.

@Christian: Ich glaube, wir denken aneinander vorbei? Der Merker kommt hier ja für mich nicht in Betracht, weil ich meine BreakPoints IMMER will. 


12
Einloggen oder registrieren, um einen Kommentar zu schreiben