Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 513

 
Aleksey Vakhrushev:
Oksana, nein, ich überprüfe nur die Bedingung(d.h. ich habe die Indikatorparameter komplett ohne sie vorgeschrieben, um zu sehen, ob es einen Unterschied gibt)

Vielleicht haben Sie die Kerzen falsch gezählt? Kann es sein, dass der Parameter bei einer Kerze von 1439, 1140 oder 1441 gleich 0 ist, während er beispielsweise bei einer Kerze von 1445 bereits einen Wert hat? (Ich habe mir den Indikator nur kurz angesehen)

Der Wert sollte nur für die Kerze gelten, bei der der Bruch aufgetreten ist. Ich empfehle, einen Zyklus zu verwenden. Der Wert darf nicht an der 1440sten Kerze liegen. Man muss vorwärts und rückwärts schauen.

 
Oksana Berenko:

Vielleicht haben Sie die Kerzen falsch gezählt? Kann es sein, dass der Parameter bei einer Kerze von 1439, 1140 oder 1441 gleich 0 ist, während er beispielsweise bei einer Kerze von 1445 bereits einen Wert hat? (Ich habe nur einen kurzen Blick auf den Indikator selbst geworfen)

Der Wert sollte sich nur auf die Kerze beziehen, bei der der Bruch aufgetreten ist. Ich empfehle Ihnen, ein Fahrrad zu benutzen. Der Wert darf nicht an der 1440sten Kerze liegen. Es ist notwendig, von ihr aus nach vorne und nach hinten zu schauen.

Ich habe es mit dem Standard-Zickzack versucht, 1440 bar funktioniert auch nicht, aber 288 scheint in Ordnung zu sein
 

Guten Tag,

Ich habe den Code irgendwo durcheinander gebracht, und deshalb tut er nicht genau das, was ich brauche, um es zu tun. Wie kann ich den Code Schritt für Schritt entladen, um zu sehen, was ich übersehen habe?

 
kashi_ann:

Guten Tag,

Ich habe den Code irgendwo durcheinander gebracht und deshalb tut er nicht genau das, was ich brauche. Wie kann ich den Code Schritt für Schritt entladen, um zu sehen, was ich übersehen habe?

Programmentwicklung: Fehlersuche - MetaEditor
 

Ja, ich benutze sie alle. Ich würde gerne das Ergebnis von, sagen wir, 10-20 Läufen in einer Tabelle sehen. Ist das möglich?

Zum Beispiel auf einem 15-Minuten-Chart:

9:00 Uhr sind die Daten.

9-15- die folgenden

9-30- die folgenden und so weiter.

Die Logik ist wie folgt:

Wir eröffnen 2 multidirektionale Pending Orders (2,3). Eine von ihnen wird ausgelöst (2) und die andere (3) wird gelöscht.

Wenn der erste (2) ebenfalls geschlossen wird (geschlossen durch Auftrag 4), prüfen wir, ob es noch Aufträge/Positionen gibt. Wenn nicht, wird die Schleife wiederholt.

Es scheint nicht sehr kompliziert zu sein.

Ich habe es durch das Debuggen von nicht offenen Aufträgen und Positionen erhalten. Der nächste Schritt in dieser Situation besteht darin, 2 neue schwebende Aufträge (5, 6) zu setzen, und das Ergebnis ist, dass nur einer (5) gesetzt wird.

Wenn der Debugger keine Aufträge/Positionen schreibt, zeigt das Diagramm gleichzeitig Linien für einige Aufträge/Positionen ohne Nummer an.

Dann geht es weiter zu den Zeilen der Auftragserteilung, nichts passiert, obwohl in der ersten Runde die Aufträge sofort im Handel platziert wurden.

Erreicht das Ende des Codes, kehrt zum Anfang zurück, die Daten werden aktualisiert, die zuvor sichtbare Order wird aus dem Diagramm gelöscht, und eine neue Order (5) erscheint.

Was habe ich nicht bedacht?

Vielleicht sollten wir einen Takt abwarten... und dann wiederholt sich der Zyklus...

 
kashi_ann:

Ja, ich benutze sie alle. Ich würde gerne das Ergebnis von, sagen wir, 10-20 Läufen in einer Tabelle sehen. Ist das möglich?

Zum Beispiel auf einem 15-Minuten-Chart:

9:00 Uhr sind die Daten.

9-15- die folgenden

9-30- die folgenden und so weiter.

Die Funktionen

Comment();
Alert();
Print();
PrintFormat();

um Ihnen zu helfen

 
kashi_ann:

Ja, ich benutze sie alle. Ich würde gerne das Ergebnis von, sagen wir, 10-20 Läufen in einer Tabelle sehen. Ist das möglich?

...

Ich kann nicht herausfinden, was Sie sehen wollen?
 
Karputov Vladimir:
Sie können sich nicht entscheiden, was Sie sehen möchten?

Es gibt in der Tat nichts Konkretes.

Ich stehe vor einem Problem, von dem ich nicht weiß, wie ich es lösen soll.

Die bisherigen Erfahrungen zeigen mir, dass ich etwas übersehen habe.

Ich bin nicht in der Lage, meinen Fehler mit Hilfe von Debugging zu finden.

Und ich verstehe nicht wirklich, wie das Programm den Code verarbeitet, also möchte ich die ganze Sequenz sehen, um das ganze Bild zu sehen.

Wenn es einen anderen Weg gibt, würde ich mich freuen, davon zu hören.

 
kashi_ann:

Es gibt in der Tat nichts Konkretes.

Ich stehe vor einem Problem, von dem ich nicht weiß, wie ich es lösen soll.

Die bisherigen Erfahrungen zeigen mir, dass ich etwas übersehen habe.

Ich bin nicht in der Lage, meinen Fehler mit Hilfe von Debugging zu finden.

Und ich verstehe nicht wirklich, wie das Programm den Code verarbeitet, also möchte ich die ganze Sequenz sehen, um das ganze Bild zu sehen.

Wenn es einen anderen Weg gibt, bin ich froh, das zu hören.

Auch hier gibt es keine Einzelheiten. OK: Finger in den Himmel -DebugBreak.

Das ist in etwa so anzuwenden:

//---
   if(PositionSelect(Symbol()))
     {
      //--- если успешно выбрали позицию по символу
      DebugBreak(); // программная остановка отладки
     }
 
Hallo, Könnten Sie mir bitte den Code sagen, der den EA veranlasst, eine Aktion zu Beginn eines neuen Tages, d.h. 00.00, auszuführen, oder mit anderen Worten, wie man die Bedingung "Wenn es ein neuer Tag (00.00)" in MQL anzeigt?