Universelles MoneyManagment System

 

Hallo zusammen.

Ich versuche gerade für meine EA`s ein MM System zu entwerfen. Bisher klappt es auf Forexparen auch gut. Nur leider funktioniert es nicht bei den "CFD Kalkulations" Produkten.

Was mache ich falsch? ich berechne doch schon die "SYMBOL_TRADE_TICK_SIZE"

Hier der Code:

     string DepositCurrency = AccountInfoString(ACCOUNT_CURRENCY);
     double PipValue = (((SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_VALUE))*point)/(SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_SIZE))); 
     double freeMargin = 0;
     double Lots = 0;
     
      
     if (MM == 1) Lots = FixLots;   
     if (MM == 2) {freeMargin = AccountInfoDouble(ACCOUNT_EQUITY); Lots = PercentRisk * freeMargin / (PipValue * SLPips) * point; }
     if (MM == 3) {freeMargin = AccountInfoDouble(ACCOUNT_FREEMARGIN); Lots = PercentRisk * freeMargin / (PipValue * SLPips); }      

     // Kürzen der lot Menge auf 2 decimal stellen ohne sie zu runden
     Lots = floor(Lots * 100) / 100; 
        
     Comment (" PipValue: ", DepositCurrency + " " + DoubleToString(PipValue, 3) + "\n", "Lotanzahl: ", Lots + "\n", "SLPips ", SLPips);

Woran hapert es das er mir beim Dax zb, bei 200 Punkten SL ca 80 Lot vorschlägt?

Vielen dank für euere Hilfe schonmal

LG Nils M.

 

Vielleicht suchst Du hier erst einmal?

Es ist ein Standardproblem eines jeden Händlers, es gibt dazu 77 Seiten mit 10 Vorschlägen: https://www.mql5.com/en/search#!keyword=moneymanagement

Erst einmal schauen, was machen die Profis und auf dem aufbauend, etwas eigenes weiterentwickeln! Ich versprech's Dir - ist viel schneller!

 

Hi, danke erstmal.

Ich werd mich durcharbeiten. Bin ich denn von der Lösung soweit entfernt?

Ich dachte 2-3 reihen bei mir im code mehr, und es würde klappen?

Kannst du oder jmd anderes nicht einen Hinweis geben?

Danke & LG

Nils M.

 
Schau dir mal die calculation an für die paare, beim forex ist es klar, bei cfd calculations ist es etwas schwierieger
 
amando #:
Schau dir mal die calculation an für die paare, beim forex ist es klar, bei cfd calculations ist es etwas schwierieger
Ja genau, das ist ja gerade mein Problem. Reicht es bei Index-Cfd's den wert einfach durch 100 zu teilen. Wäre das dann denn der richtige wert? Hatt jmd einen link zu einem Script, Indikator, ea oder von mir aus einer include? 
 

Such dir diese enum raus

ENUM_SYMBOL_CALC_MODE

da sthet die calc drinnen

 

Danke aber das ist ja genau meine frage.

Das MM System von mir basiert auf einer rechnung die ausschliesslich auf: SYMBOL_CALC_MODE_FOREX

Meine frage ist. Kann mir jemand eine berechnung geben für:  SYMBOL_CALC_MODE_CFD

Damit das Moneymanagment, welches ich oben gepostst habe, auch für Index-CFD's wie den DAX oder S&P oder GOLD richtige werte berechnet. Weil diese alle auf der Kalkulation : "CFD HEBEL" basieren.

Muss ich dann ein neues MM erstellen welches ich dann dem jeweiligem Underlying selbst zuordnen muss?

LG

Nils M.

Dateien:
CFD_Hebel.jpg  130 kb
 
Also das ist ein viel komplexeres Thema als es an der Oberfläche scheint.

SYMBOL_TICK_VALUE ist unzuverlässig für manche Produkte.

Hier ist ein Thread aus dem englischen Forum, in dem ich alle relevanten Informationen gepostet habe.


Ich empfehle eine detaillierte Studie dieses Themas, da die Tiefen deutlich schwieriger zu bewältigen sind.




 
Besten Dank :)