MQL5: Expert: Invest in Euro / Gewinn in prozentualer Anteil

 

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

 

 
Ich verstehe nicht ganz, was Du willst (was ist Profit vom Invest), aber, wenn Du den Gewinn ( PositionGetDouble(POSITION_PROFIT);)  durch die Losgröße ( PositionGetDouble (POSITION_VOLUME ) teilest, dann hast Du den Gewinn (in Kontowährung) für die Losgröße 1, die in der Regel beim Forex 100.000 ist.
 
Wen. Du meinst in relation zum sl, dann musst du zuerst den value deines sl errechnen, dann kannst du den profit in % davon haben
 

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

Wie teste ich einen Handelsroboter vor dem Kauf
Wie teste ich einen Handelsroboter vor dem Kauf
  • www.mql5.com
Der Kauf eines Handelsroboters am MQL5 Markt hat bestimmte Vorzüge gegenüber ähnlichen Möglichkeiten - ein automatisiertes System kann direkt im MetaTrader5-Terminal getestet werden. Vor dem Kauf kann und soll ein Expert Advisor sorgfältig in allen ungünstigen Modi im eingebauten Strategietester ausgeführt werden, um das System komplett zu...
 

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.

Suche - MQL5.community
Suche - MQL5.community
  • www.mql5.com
Die Suche beruht auf der Morphologie, Klein-/Großschreibung wird nicht beachtet. Alle eingegebenen Buchstaben werden als Minuskeln betrachtet. In der Standardeinstellung werden die...
 

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

 
Marc-André:

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?

 
amando:

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

 
Marc-André:


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

 
amando:

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

Grund der Beschwerde: