|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Gesamt Breakeven
Ich habe Probleme, einen Breakeven Wert zu berechnen, wenn mehrere Orders am Laufen sind, und brauche eine Denkhilfe bitte. Danke.
Ich rechne mit festem 2*Spread, wobei Spread Benutzereingabe ist. Eine LongOrder ist immer Equal, wenn der Preis bei OrderOpenPrice()+2*Spread steht. Eine ShortOrder ist immer Equal, wenn der Preis bei OrderOpenPrice()-2*Spread steht. 1. Beides ist erst mal unabhängig, wiewiel Lots gehandelt werden und wo der Kurs gerade steht und ob Bid oder Ask zum Schließen verwendet würde. 2. Ich tue in meiner Berechnung also so, als wäre der OpenPrice etwas höher bei Long und etwas tiefer bei Short gewesen. 3. Hätte ich z.B. 2 Long (gleiche Lots ohne Spread), einen bei 100 und einen bei 200, dann wäre der Breakeven genau in der Mitte bei 150, nämlich (100+200)/2 - wenn der eine 50 ins Minus geht, ist der andere 50 im Plus, also Breakeven. Rechne ich mit Spread, wäre der Breakeven etwas höher als die Mitte. Mit diesen Überlegungen bewaffnet habe ich den Test-Indie geschrieben. Aber irgendwie stimmt da was noch nicht, die Breakeven Linie ist teilweise viel zu weit vom eigentlichen 0,00 € Profit entfernt. Hat jemand eine Ahnung, wo es hier hakt? Mache ich einen Denkfehler? Ist die Berechnung falsch? Danke. AVT |
|
|||
Würde das vielleicht mit int versuchen:
Code:
extern double InEqualSpread = 100;//Equal calculation spread in point Z.68 Code:
SumLongOpens += (OrderOpenPrice()+2*ValSpread)*OrderLots(); Ansonsten würd ich die ganze BreakEven-Berechnung möglichst einfach machen. Code:
BE = NormalizeDouble( OrderOpenPrice() +/- (int) BE_Wert *Point,Digits); |
|
|||
Zitat:
Zitat:
Zitat:
Das mach' mir mal ganz einfach - da ist nix mit 50-150 sollte passen. AVT |
|
|||
Soviel ich weiß gilt auch im MT4 immer Punkt- vor Strich-Rechnung also sollte man das vielleicht mal auseinander nehmen.
|
|
|||
Zitat:
Code:
SumLongOpens += (OrderOpenPrice()+2*ValSpread)*OrderLots() 0 2*ValSpread 1. OrderOpenPrice()+2*ValSpread 2. ( ) 3. ( )*OrderLots() 4. SumLongOpens += 5. 1. Punktrechnung 2. Strichrechnung 3. das Ergebnis in Klammer zusammengefaßt 4. Punktrechnung für das Klammerergebnis 5. das Resultat zur bestehenden Summe addieren Noch was zu meckern? Dann bitte Deine Formel. AVT |
|
|||
Persönliche Meinung! Halte ich eine BreakEven Strategie an offenen Positionen nicht für zielführend, denn:
- Niemand kann im Retail! in die Zukunft blicken und mit Bestimmtheit sagen ob ein Trade nicht doch noch in einen TP oder SL läuft! - Oftmals wird ein BE verwendet um zu enge oder zu weite TP/SL Einstellungen "einzukürzen bzw. abzukürzen", ditto mit TrailingStop und TrailingProfit! BE, Trailing*, kommt immer dann zum Einsatz wenn man sich der Einstiege, Ausstiege nicht sicher ist und für sich das Risiko psychologisch reduzieren möchte. Ist das der Fall? Die Einsteigssstrategie überprüfen, anpassen! (Statische Werte in einem dynamischen Retail Markt,....) Die Anschlussstrategie nach einem SL, den es immer geben kann ist viel wichtiger als in psychologischer Verlustangst in offene Positionen statisch einzugreifen. Meine Strategie: Verwende dynamische OHLC Einstellungen und lasse den Trade entweder in den TP oder SL laufen. Aus der History summiere ich die/den SL Trade(s) und lasse % den Verlust beim nächsten Trade bei der dynamischen Neuberechnung mit einfließen. Entweder in Form eines höheren TP (dynamisch+% Anteil des vorigen SL) oder eines geänderten Handelsvolumen oder einer Kombi aus beiden. Schach spielen ist übrigens ein gutes Hobby um zu lernen das es Verluste gibt und man trotzdem mit guter Strategie gewinnen kann, bzw. das man mit Absicht eine Figur opfert (sacrify) um weiterführend einen Vorteil im Spiel zu bekommen. Eine Figur die bewegt wurde kann nicht nochmals bewegt werden, Strategie Anpassung, wenn notwenig, erst beim nächsten Schach Zug. Viele professionelle Trader sind auch gute Schachspieler.... Persönliche Meinung + persönliche Strategie + nur eine weitere Ansicht/Möglichkeit! |
|
|||
Z.68
Code:
SumLongOpens+=(OrderOpenPrice()+2*ValSpread)*OrderLots( Code:
SumLongOpens += OrderOpenPrice() + ( 2.0 * ValSpread * OrderLots() ); |
|
|||
Zitat:
AVT |
|
|||
Zitat:
AVT |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|