Einzelnen Beitrag anzeigen
  #6 (permalink)  
Alt 23.08.18
sazaron sazaron ist offline
Neues Mitglied
 
Registriert seit: Dec 2017
Beiträge: 3
sazaron befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Adlerauge
moin,
du must den Tickvalue in Deine Berechnung mit einbeziehen. Dann kannst Du Lotgroessen berechnen, die deinem eingestellten Prozentsatz der Margin entsprechen.

MarketInfo (Symbol (), MODE_TICKVALUE));

MINLOT und MAXLOT haben damit nichts zu tun.
ich finde nur sachen, die da einen festen stoplosswert mit einbeziehen...
ich habe auch diverse formeln damit getestet doch es kam nicht raus was passend wäre.

Zitat:
Raul0
Du möchtest eine Money Management Berechnung durchführen.

Wieviel Lots Du bei 100% Risiko kaufen kannst, ist das richtig? Dann sollte auch Dein verwendetes StopLoss mit einbezogen werden.
Ja richtig! stoploss berechne ich mit mit der lotzahl in %.
hier ist der code:

double buttontp = 0.015 ////1.5%
double buttonsl = 0.025 ////2.5%



double PointValue()
{
int Percent =100; // % of free margin
double Free =AccountFreeMargin(); // Free margin
double One_Lot=MarketInfo(NULL,MODE_MARGINREQUIRED);// 1 lot price
double Step =MarketInfo(NULL,MODE_LOTSTEP); // Size step changed

double Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;
double PipValue=(((MarketInfo(Symbol(),MODE_TICKVALUE)*po int)/MarketInfo(Symbol(),MODE_TICKSIZE))*Lots_New);
double pointValue =PipValue/10;
return(pointValue);
}




tp=Ask+(((AccountFreeMargin()*(buttontp))/PointValue()) *Point);
sl=Ask-(((AccountFreeMargin()*(buttonsl))/PointValue()) *Point);


alternativ habe ich auch ein algorythmus, dass mir die positionen bei z.b. 2% gewinn oder verlust schließt, doch finde ich zu unsicher. lags usw. könnten da einen echt arm machen.


ich habe mir gerade eine neue brechnung ausgedacht, doch die rechnet auch mit der falschen währung, glaube ich... ich erhalte den selben wert wie bei Lots_New...

double lot_min =MarketInfo(Symbol(),MODE_MINLOT);
double minlotgeld=(AccountFreeMargin()-(AccountFreeMarginCheck(Symbol(),OP_BUY,lot_min))) ;
double minlotlot=(Free/minlotgeld*lot_min);
Print("MINLOTLOT "+minlotlot);

Geändert von sazaron (23.08.18 um 12:21 Uhr)