Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 22.08.18
MA-EA MA-EA ist offline
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Soviel ich weiß, haben einige WP andere Margin-Level als Andere WP.

Schätze mal, Du willst in % festlegen, wie viel Lots er kaufen soll. Dann musst Du das glaub ich mit MinLot() berechnen. Bzw. MinLot() in das Ganze mit einbeziehen.

Ach ja, mit jeder offenen Order verändert sich natürlich auch die FreeMargin()...

Ich hatte das irgendwann mal so versucht. Aber irgendwas war glaub ich nicht richtig.
Code:
extern bool Percent_of_Balance=true;//
extern int Units_of_1_Lot=100000;
extern double Auto_Lotsize_Perc=1.0;//
Code:
double Min_L=MarketInfo(Symbol(),MODE_MINLOT);//Mindest_Lot_Einsatz
double Max_L=MarketInfo(Symbol(),MODE_MAXLOT);//Maximaler_Lot_Einsatz

//---------------------------------------------------------------------------------------------

  if(Percent_of_Balance==true){
  
    double M_REQ=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//nötige Margin für 1 Lot (100.000 Units)
    double A_BAL=AccountBalance();//momentaner Kontostand
  
//  Einheiten von 1_Lot geteilt durch Mindest_Lot, um später auszurechnen, wie viel Margin für kleinst mögliches Lot nötig ist:
    double U1L__MinL=NormalizeDouble(Units_of_1_Lot*Min_L*_Point,_Digits);

//  Margin_für_1_Lot geteilt durch Ergebnis, um raus zu finden, wie viel Margin für Mindest_Lot benötigt wird:
    double MREQ__MinL=M_REQ/U1L__MinL;

//  Kontostand geteilt durch für Min_Lot nötige Margin, um rauszufinden, wie viel Min_Lot mit Kontostand möglich sind.
    double A_BAL__MinL=A_BAL/MREQ__MinL;

//  Mit Kontostand_mögliche_Mindest_Lots geteilt durch "HP" (hundred Percent)
    double A_BAL__MinL__HP=A_BAL__MinL/100.0;

    Lots=A_BAL__MinL__HP*Auto_Lotsize_Perc;

}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

if(Lots<Min_L)Lots=Min_L;
if(Lots>Max_L)Lots=Max_L;