Hi zusammen,
denke ich habs. Hatte immer nen Denkfehler und wollte den "Gewinn/Verlust" mit dem Account in Relation bringen, aber viel einfacher ist es so:
double positionOpen = PositionGetDouble(POSITION_PRICE_OPEN);
double positionVolume = PositionGetDouble(POSITION_VOLUME);
double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
double leveragedVolume = positionVolume * contractSize;
double positionCurrent = PositionGetDouble(POSITION_PRICE_CURRENT);
double percentTotalProfit = 100-(100 / (positionCurrent * leveragedVolume)*(positionOpen * leveragedVolume));
Denke das drückt aus, was ich ursprünglich meinte :-)
Danke euch nochmal ganz herzlich.
LG
Hallo zusammen,
so nun fiel mir beim Testen auf, dass das oben auch nicht das richtige war, aber hiermit das richtige Ziel erreiche:
double positionOpen = PositionGetDouble(POSITION_PRICE_OPEN); double positionCurrent = PositionGetDouble(POSITION_PRICE_CURRENT); ENUM_POSITION_TYPE positionType = (ENUM_POSITION_TYPE) PositionGetInteger(POSITION_TYPE); double leverage = AccountInfoInteger(ACCOUNT_LEVERAGE); double percentTotalProfit = 0; percentTotalProfit = (100 / positionOpen * positionCurrent) - 100; percentTotalProfit = percentTotalProfit * leverage; if(positionType == POSITION_TYPE_SELL) { percentTotalProfit = percentTotalProfit * -1; }
Nun gibt es alledings doch noch etwas was mich verwirrt, denn egal was ich im StrategieTester für einen Hebel einstelle, er scheint immer auf 1:1 im Debug test zu laufen:
Woran kann das denn nun wieder liegen?
Danke im Voraus
LG
- www.mql5.com
Such mal hier mit risk management: https://www.mql5.com/de/search#!keyword=risk%20management
Ich kriege 436 Seiten mit je 10 Links, da sollte doch etwas für Dich dabei sein.
- www.mql5.com
Danke Carl,
ja mit meiner Strategie da oben bin ich eigentlich nun zufireden.
Die letzte Frage bezog sich mehr auf den Hebel der irgendwie im Strategie Tester nicht angewendet wird.
Egal was ich einstelle, das scheint keine Auswirkung zu haben...?!
LG
Was denkst du denn das der hebel für auswirkungen hat?
Was denkst du denn das der hebel für auswirkungen hat?
Nun, zugegeben, ich habe bisher nur im Kryptospace auf den Exchanges direkt getradet. Daher eine gewisse Erwartungshaltung.
Ich erwarte demnach, dass der Gewinn / Verlust sich verX facht, je nach eingestelltem Hebel und entsprechend der Margin eine Liquidation einsetzt.
Danke für Eure Hilfe.
LG
Nun, zugegeben, ich habe bisher nur im Kryptospace auf den Exchanges direkt getradet. Daher eine gewisse Erwartungshaltung.
Ich erwarte demnach, dass der Gewinn / Verlust sich verX facht, je nach eingestelltem Hebel und entsprechend der Margin eine Liquidation einsetzt.
Danke für Eure Hilfe.
LG
Ok, du liegst mal ganz falsch, du musst dich erst mal schlau machen was der hebel macht. Da fehlts dir noch an den grundlagen
Ok, du liegst mal ganz falsch, du musst dich erst mal schlau machen was der hebel macht. Da fehlts dir noch an den grundlagen
Hab mir das nochmal genauer angesehen. Okay...
Aber dennoch...:
egal welchen Helbel ich einstelle, ist es aber auch so, dass sich die maximale LOT Größe nicht ändert. Sie bleibt immer gleich...
Auch kommt mir die Gewinnberechnung irgendwie seltsam vor. Scheint mir viel zu gering. Hier ein Auszug aus dem Strategie Tester:
LG
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo zusammen,
ich habe mir schon so viele Einträge durchgelesen, aber irgendwie habe ich ein Brett vorm Kopf.
Prinzipiell möchte ich einfach nur den prozentualen Anteil vom Profil am Invest berechnen.
Der Profit lässt sich ja einfach per
outProfit = PositionGetDouble(POSITION_PROFIT);
ermitteln. Der Wert wird immer in Kontowährung angegeben, soweit ich das verstehe als z.B. EUR.?
Nun habe ich eben ein gewisses Lot y an Invest in einer Position x.
Wie bekomme ich nun das Lot y der Position x umgerechnet in meine Kontowährung (z.B. EUR), damit ich das in prozentuale Relation zum Profit stellen kann?
Ich habe schon experimentiert mit:
double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
double positionOpen = PositionGetDouble(POSITION_PRICE_OPEN);
Irgendwie fehlt mir der entscheidende Hint.
Danke euch schonmal herzlich.
LG