Inhalte aufrufen

  • Über Facebook anmelden Über Twitter anmelden Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Alle Positionen schließen bei Überschreiten von Gewinnschwelle

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
6 Antworten zu diesem Thema

  #1
OFFLINE   marvis

Hallo,

 

ich bin noch recht neu auf dem Gebiet der MQL4-Programmierung (habe aber Erfahrungen mit anderen Programmiersprachen). Ich würde gern ein Skript schreiben, dass ab dem Überschreiten eines bestimmten Gewinnbetrages alle offenen Positionen geschlossen werden. Besagter Gewinnbetrag soll die Summe aller offenen Positionen sein, also der Wert, der da im Handels-Fenster von MT4 unten rechts in der Gewinnspalte steht.

 

Gibt es dafür eine Funktion in MQL4, die diesen Wert liefert? Wollte ich die Summe aller Positionen selber addieren (mittels OrderProfit), kommt da bei vielen Positonen möglicherweise ein falscher Summenwert heraus, da es dann zu Zeitverzögerungen kommt. Aber vielleicht gibt es ja noch einen anderen Ansatz.

 

Für eure Hilfe besten Dank vorab,

Marvis



  #2
OFFLINE   Joachim108

Schau dir mal die Funktionen AccountBalance() und EquityBalance() an, das könnte die Lösung sein...


Ich weiß, das ein Backtest nichts über die Zukunft sagt.
Aber warum soll ich etwas traden, das in der Vergangenheit schon nicht funktioniert hat?!

 

http://www.system-check.me


  #3
OFFLINE   marvis

Danke Joachim, das habe ich gerade mal ausprobiert. Account_Balance und Account_Equity liefern ganzzahlige Werte, mit denen ich erstmal nichts anfangen kann. Jedenfalls keine EURO-Beträge, die mit meinen Werten übereinstimmen würden.

 

Edit: Hatte AccountInfoDouble vergessen, damit funktionierts. Danke für die schnelle Hilfe!


Bearbeitet von marvis, 31 July 2017 - 14:43 Uhr,


  #4
OFFLINE   Joachim108

AccountBalance() liefert den tatsächlichen Kontostand und Accountequity() den Kontostand inklusive der offenen Positionen - also die Equity. Wenn du die beiden subtrahierst hat du deinen offenen Gewinn.
Win = AccountEquity() - AccountBalance();

 

Mit deinem Ansatz ( AccountInfoDouble(ACCOUNT_PROFIT) geht es wohl auch es führen immer viele Wege nach Rom...


Bearbeitet von Joachim108, 31 July 2017 - 19:28 Uhr,

Ich weiß, das ein Backtest nichts über die Zukunft sagt.
Aber warum soll ich etwas traden, das in der Vergangenheit schon nicht funktioniert hat?!

 

http://www.system-check.me


  #5
OFFLINE   reteid2222

Schau dir den Link 

Please Login or Register to see this Hidden Content

mal an...

Da wird auch eine Wiederholungsanweisung durch alle offenen Positionen gebildet, der Profit wird überprüft und dann ein Trades geschlossen.. die Hauptmethode kannst du  einfach modizieren und eine Methode zum Schliessen aller offenen Positionen sollte noch im Thread vorhanden sein.....oder modifizieren einen der Methoden, die Trades selektiv nach Kriterien schließen

Grüße und viel Erfolg!


Bearbeitet von reteid2222, 31 July 2017 - 19:53 Uhr,

IBUPLpwH.jpg


  #6
OFFLINE   rmndschmidt

Ich habe da mal einen EA gefunden, der auf einem zusätzlichen Chart installiert werden muss.

Sollte den jemand nutzen (und ggf. modifizieren) wäre eine Rückmeldung gut, ob er auch fehlerfrei läuft.

Dateianhang



  #7
OFFLINE   reteid2222

Ich habe da mal einen EA gefunden, der auf einem zusätzlichen Chart installiert werden muss.

Sollte den jemand nutzen (und ggf. modifizieren) wäre eine Rückmeldung gut, ob er auch fehlerfrei läuft.

Sieht gut aus, der müsste funktionieren!


IBUPLpwH.jpg




Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer