Code-Probleme bei meinem EA

 

Guten Morgen allerseits,


ich bin grade dabei meinen eigenen EA zu erstellen.

Vorerst geht es darum gewisse FVGs zu traden. Startzeit etc. habe ich bereits eingebaut und jetzt geht es darum, dass ich nur z. B. die zweite FVG im Markt traden möchte, die ab einem gewissen Zeitpunkt auftritt.

Bis zu dem Zeitpunkt steht alles, allerdings wird nicht die zweite, sondern die dritte FVG getradet und ich komme auf keine Lösung für mein Problem.


Kann mir daher eventuell jemand auf die Sprünge helfen?


Edit: Startzeit des EAs ist 13:00 Uhr. Wenn ich meine Filterzeit deaktiviere, klappt alles reibungslos und jede FVG wird getradet.


Vielen Dank im Voraus.

Code
1

LG

Sven

 

Wenn der EA nicht tut, was er soll, ist der Debugger die Hilfe der Wahl:

    https://www.metatrader5.com/de/metaeditor/help/development/debug
    Zur Fehlerbehebung von MQL5-Programmen (Debugging) : https://www.mql5.com/de/articles/654
    Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators, Siehe Ende: Starten und Debuggen     https://www.mql5.com/de/articles/35
    Die Fehlerverarbeitung und Protokollierung in MQL5:     https://www.mql5.com/de/articles/2041
    https://www.mql5.com/de/articles/272
    Fehler finden und Protokollierung     https://www.mql5.com/de/articles/150

Das einzige was mir auffällt ist, dass die for-Schleife bis 0 geht, aber bei total beginnt => das ist einer zu viel - der debugger würde Dir sagen, was geht und was nicht.
Code-Debugging - Programme entwickeln - MetaEditor Hilfe
  • www.metatrader5.com
MetaEditor hat einen eingebauten Debugger, mit dem Sie die Programmausführung Schritt für Schritt (durch einzelne Funktionen) ü...
 
Carl Schreiber #:

Wenn der EA nicht tut, was er soll, ist der Debugger die Hilfe der Wahl:

    https://www.metatrader5.com/de/metaeditor/help/development/debug
    Zur Fehlerbehebung von MQL5-Programmen (Debugging) : https://www.mql5.com/de/articles/654
    Einführung in MQL5: Schreiben eines einfachen Expert Advisor und benutzerdefinierten Indikators, Siehe Ende: Starten und Debuggen     https://www.mql5.com/de/articles/35
    Die Fehlerverarbeitung und Protokollierung in MQL5:     https://www.mql5.com/de/articles/2041
    https://www.mql5.com/de/articles/272
    Fehler finden und Protokollierung     https://www.mql5.com/de/articles/150

Das einzige was mir auffällt ist, dass die for-Schleife bis 0 geht, aber bei total beginnt => das ist einer zu viel - der debugger würde Dir sagen, was geht und was nicht.

Vielen Dank.

Konnte das Problem ein wenig später identifizieren. Es lag an der if-Abfrage. Aber noch ein anderen Anliegen.

Wenn ich meinen Trades die Magic Number ergänze und mein EA mehrere Trades geöffnet hat und von einem dieser der SL getroffen wird, werden dann alle anderen Trades auch geschlossen, sofern sie die gleiche MN haben?

Vielen Dank im Voraus

LG

 

Die Magic Number spielt für SL (und TP) keine Rolle, eine Position, deren SL (oder TP) getroffen wird wird geschlossen.

Die Magic Number kann man als eigene Referenz verstehen, damit zB. der EA 'seine' Positionen 'wiederfindet' falls andere EAs oder auch der Händler selbst manuell (dann ist Magic Number=0) auf dem Konto handeln.

 
Carl Schreiber #:

Die Magic Number spielt für SL (und TP) keine Rolle, eine Position, deren SL (oder TP) getroffen wird wird geschlossen.

Die Magic Number kann man als eigene Referenz verstehen, damit zB. der EA 'seine' Positionen 'wiederfindet' falls andere EAs oder auch der Händler selbst manuell (dann ist Magic Number=0) auf dem Konto handeln.

Alles klar, vielen Dank. Konnte meinen EA gut weiter voran bringen. Es funktioniert soweit jetzt alles. Nur eine Frage wurmt mich grade und ich schaffe es nicht mir den Code der Funktion anzuschauen.

Woher nimmt "PositionGetInteger(POSITION_MAGIC, magicnumber)" die Information von welchem Ticket ich die MagicNumber haben will?

Ist nicht so wichtig und funktioniert soweit auch, aber konnte mir das bisher noch nicht beantworten.



 
sp514141 #:

Alles klar, vielen Dank. Konnte meinen EA gut weiter voran bringen. Es funktioniert soweit jetzt alles. Nur eine Frage wurmt mich grade und ich schaffe es nicht mir den Code der Funktion anzuschauen.

Woher nimmt "PositionGetInteger(POSITION_MAGIC, magicnumber)" die Information von welchem Ticket ich die MagicNumber haben will?

Ist nicht so wichtig und funktioniert soweit auch, aber konnte mir das bisher noch nicht beantworten.



Die Position die du mit PositionSelectByTicket für die weitere Verarbeitung auswählst:
Dokumentation zu MQL5: Handelsfunktionen / PositionSelectByTicket
Dokumentation zu MQL5: Handelsfunktionen / PositionSelectByTicket
  • www.mql5.com
Wählt eine offene Position nach dem angegebenen Ticket für die weitere Arbeit aus. Gibt true bei einem erfolgreichen Beenden der Funktion...
 

Eigentlich wählt schon PositionGetTicket die entspr. Postion für Weiteres aus.

Die Abfrage der Magic Number wäre schon danach möglich. Einfach die Referenz lesen mit 1) Kursor auf die Funktion und 2) F1 drücken...

 
Tobias Johannes Zimmer #:
Die Position die du mit PositionSelectByTicket für die weitere Verarbeitung auswählst:

Ja, das versteh ich soweit.


Geht nur darum was in der Funktion passiert. Wird dort eben die Position in einem Objekt gespeichert, auf welches ich eben später ( in meiner Funktion ) auch noch zugriff habe?

LG

 
Carl Schreiber #:

Eigentlich wählt schon PositionGetTicket die entspr. Postion für Weiteres aus.

Die Abfrage der Magic Number wäre schon danach möglich. Einfach die Referenz lesen mit 1) Kursor auf die Funktion und 2) F1 drücken...

Oh okey. Und wie komme ich dann an die magiuc number direkt danach?
Hatte auch nach einer Funktion gesucht, aber schlussendlich nur diesen Weg gefunden, um die magic number des Trades herauszufinden.

LG
 
Magic Number geht nur im zweiten Schritt nach der Auswahl einer Position. Nur mit der Ticket-Nummer des Brokers kann eine Position direkt für Weiteres ausgewählt werden. D.h. Du müsstest Dir zB. ein Array definieren, in dem Du die Ticket und Magic Nummern speicherst und abrufst....
 

Und wenn ich grade schon dabei bin euch so zu löchern ;D

Gibt es mit MQL5 die Möglichkeit Volumendaten aus dem Markt zu beziehen?

Ich trade aktuell mit Supply & Demand Zonen und möchte das zukünftig auch automatisieren.

Dazu verwende ich bisher das Volumentool von TV. Gibt es etwas vergleichbares per MQL5?




Vielen Dank für eure Hilfe.

LG

Grund der Beschwerde: