|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Stecke mit meiner Exitstrategie fest!!!
Guten Abend Leute...
ich bin gerade dabei ein EA zu Programmieren der mehrere Strategien fährt.Klappt auch alles hervorragend bislang. Ich stecke bloss bei meiner Exitstrategie fest.Ich hatte früher etwas ähnliches schon einmal gepostet, nur diesmal geht die Sache etwas tiefer. Ich möchte nach gewisser Zeit abfragen ob meine Position im Plus ist. Ist dies nicht der Fall, möchte ich eine halbe Position schliessen. Hier ein Ausschnitt aus meiner Schleife: if(OrderOpenTime() <=OrderOpenTime()+ PERIOD_H1*3*3600 && OrderOpenPrice() <= Ask ) { OrderClose(OrderTicket(),Lots/2,Ask,2,Red); } Nach 3 Stunden soll die Abfrage kommen ob sich etwas tut.Das Problem ist...es wird eine halbe Position geschlossen aber unmittelbar darauf wird gleich wieder zugekauft. Vielleicht habt ihr nen kleinen Gedankenschubser für mich... Danke im voraus schon einmal!!! |
|
|||
Den Rest des Codes sieht man nicht. Damit wirds dann a bisserl kompliziert.
Beim Halbieren der Lotgröße der Order wird immer erst die gesamte Order geschlossen und danach wieder die Hälfte geöffnet. Falls Du also das meinst, dann ist das völlig in Ordnung. Solltest Du ein anderes Öffnen meinen, dann muß es am Code liegen, den wir nicht sehen. Wobei ich mich die ganze Zeit frage, führt if(OrderOpenTime() <=OrderOpenTime()+ PERIOD_H1*3*3600 && OrderOpenPrice() <= Ask ) nicht sofort nach dem Öffnen der Order zum true der Abfrage? Erstens ist OrderOpenTime() immer kleiner als OrderOpenTime()+ PERIOD_H1*3*3600 und zweitens handelt es sich hier um eine SellOrder, die mit dem Bid geöffnet wird. Damit ist der OrderOpenPrice() der Bidkurs, der bei der Öffnung immer unter, also kleiner als der darüberliegende Ask-Kurs ist. Oder brauch ich langsam ne Brille? traderdoc |
|
|||
Will nicht falsch verstanden werden...Habe euch mal das Teil angehangen...
Ab Zeile 134... Vielleicht könnt ihr ja mal nen Blick drauf schmeissen! Habe meine oben beschriebene Problematik erst in der BUY Situation eingebaut...also bitte nicht wundern. |
|
||||
Ohne mir den code angeschaut zu haben:
order öffnen und order schließen sind zwei Paar Schuhe. Dem EA ist es salopp ausgedrückt völlig schnuppe ob Du einige Sekunden oder die bar vorher Deine Order zur Hälfte geschlossen hast - Denn sobald ein buy oder sell signal vorliegt dann kauft/verkauft er. Dir könnte eine Prüfung helfen: Handele nur sofern noch keine order (ggf. nur prüfen ob es derselbe ordertyp ist) offen ist. |
|
|||
mmh....kann dir leider nicht ganz folgen.Wenn das Signal noch besteht,dann ist es klar das eine Order eröffnet wird. Der Kontoauszug beim Backtesting gibt auch sehr merkwürdige Zahlen von sich bei der Teilschließung.
Wird wohl wieder ne lange Nacht vorm Rechner!!!!!!! |
|
|||
Also erstmal sollte von Dir geklärt werden, wann der EA die Order schließt und v.a. wann genau die Hälfte wieder "dazugekauft" wird.
Ich denke fest, dass Du das Kaufen meinst, welches ich beschrieben hatte. Das wäre völlig normal und kann auch nicht unterbunden werden. Unberührt von dieser Tatsache bleibt Deine if-Abfrage funktionell falsch. traderdoc |
|
|||
Die andere hälfte soll ja gerade nicht mehr zugekauft werden.
Ich werd nochmal step by step alles durchgehen.... Ich bedanke mich trotzdem bei euch für eure Mühe.... |
|
|||
Hab jetzt nochmal geschaut! Er kauft nicht zu, sondern er halbiert dann halt jedesmal pö a pö runter bis auf Null.
Mal sehen wie ich das Problem lösen kann... |
|
|||
Zitat:
Erst verdoppelt er, dann doch nicht und er halbiert bis 0. Ja wie sollen wir denn da die richtigen Antworten geben. Das er ständig halbiert ist auch deshalb von der Programmlogik her richtig, weil die Zeile if(OrderOpenTime() <=OrderOpenTime()+ PERIOD_H1*3*3600 && OrderOpenPrice() <= Ask ) Murks ist und den EA jedesmal anweist, eben eine weitere Hälfte der jeweiligen Hälfte zu schließen. (sofern OrderOpenPrice() <= Ask ist), denn der vordere Teil ist immer true! traderdoc |
Lesezeichen |
Stichworte |
exitstrategie, halbe position, halbe position schliessen, mql4, position schliessen, programmierung, programmierung metatrader |
|
|