Calcolo corretto del lotto dalla % del deposito - pagina 4

 

Grazie a tutti per il vostro aiuto e la vostra partecipazione... Ecco il risultato della mia "sofferenza".

double lotSize(double deposSize=1000.0, string currName="USDCHF", double proc=2.0, int pipsLoss=1000)

{

double currMove=deposSize*proc/100;// расчет процента от величины, предположительно, депозита

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//ну а тут и ведеться сам расчет лота

if(lotCount<MarketInfo(currName,MODE_MINLOT))

{

return MarketInfo(currName,MODE_MINLOT);

}

return NormalizeDouble(lotCount,2);

//return lotCount;

}

Non sembra troppo difficile, ma non avrei potuto farlo senza consigli.

 

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//poi viene eseguito il calcolo del lotto stesso

questo è il più fresco come ottiene ... e ora il conteggio

double currMove=deposSize*proc/100 = 1*100/100 = 1; abbiamo 1 quid

currName = "EURUSD"

MarketInfo(currName,MODE_TICKVALUE) = 0,1 per quotazioni a cinque cifre

pipsLoss = 1000

in totale abbiamo

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE)) = 1 /(1000*0.1) = 0.01

tutto sembra a posto(il margine è 68,53 per lotto), se pipsLoss = 100, allora lotCount = 0,1, ma non c'è abbastanza margine per questo - per 0,1 abbiamo bisogno di 6,853, e abbiamo 1 sterlina...

e d'altra parte, nel primo caso, avendo 1 quid e un'apertura con uno stop di 1000 punti sarà lasciato con 0,31 di un quid

Mi chiedo se questo è abbastanza denaro per un ordine con uno stop-loss di 1000 pips per sopravvivere a un drawdown di 999 pips, dubito che accadrà,

cioè il prezzo di 1 pip a 0,01 lotto sarà 0,001, 0,31/0,001 = 310 pip, cioè se perdiamo 310 pip l'ordine sarà chiuso da uno stopout (questo è se lo stopout è allo 0% che è sbagliato perché è sempre più grande, il che significa che l'ordine si chiuderà prima), quindi tutti i calcoli sono inutili poiché non ci aiutano a calcolare correttamente il lotto corretto per le condizioni date in modo che l'ordine funzioni correttamente da uno stop loss

 
double CalcLotSize(double Lot,double lRisk,int lSL=0)
  {
   string lSymbol=Symbol();
   double dLotMin    = MarketInfo(lSymbol, MODE_MINLOT        );
   double dLotMax    = MarketInfo(lSymbol, MODE_MAXLOT        );
   double dLotStep   = MarketInfo(lSymbol, MODE_LOTSTEP       );


   double dLot=Lot;

   if(lRisk>0)
     {
      if(lSL>0)
        {
         double dLotCost=MarketInfo(lSymbol,MODE_TICKVALUE);
         dLot=MathRound(AccountFreeMargin()*lRisk*0.01/(lSL*dLotCost*dLotStep))*dLotStep;
        }
      else
        {
         double dLotMargin=MarketInfo(lSymbol,MODE_MARGINREQUIRED);
         dLot=MathRound(AccountFreeMargin()*lRisk *0.01/(dLotMargin*dLotStep))*dLotStep;

        }
     }

   if(dLot<dLotMin) dLot=dLotMin;

   if(dLot>dLotMax) dLot=dLotMax;

   return(dLot);
  }
 

sembra che tutte le idee di contare il lotto crescano dallo stesso posto e siano simili come i funghi dopo la pioggia... (Mi sto criticando...)

È meglio che usi la tua testa per capire cosa dovrebbe contare la funzione di calcolo del lotto e cosa dovrebbe prendere in considerazione, perché le opzioni proposte non reggono alle critiche...

 

Lasciatemi spiegare per coloro che sono molto dotati... currMove - questo è il valore in denaro della percentuale persa quando si passa pipLots pips (2% del deposito per 1000 sterline ad un colpo di 1000 pips (5 cifre) sarà $20) ...

questo è il meglio che si può ottenere... ora fai i conti

double currMove=deposSize*proc/100 = 1*100/100 = 1; abbiamo 1 quid

cioè, se qualcuno ha una perdita di 1 dollaro in queste condizioni, allora posso solo ammirare l'estremo del trader - in questo caso ha 50 sterline di deposito... Se qualcuno ottiene 1 dollaro in una condizione di perdita, allora posso solo ammirare l'estremismo del trader - in quel caso ha un deposito di 50 dollari sul suo conto di trading.

Penso che la seguente discussione sul testo del post sia inutile... Perché è irrispettoso discutere con i troll, disattenti come sono.

Sono onorato.

 
gochu:

Lasciatemi spiegare per coloro che sono molto dotati... currMove - questo è il valore in denaro della percentuale persa quando si passa pipLots pips (2% del deposito per 1000 sterline ad un colpo di 1000 pips (5 cifre) sarà $20) ...

questo è il meglio che si può ottenere... ora fai i conti

double currMove=deposSize*proc/100 = 1*100/100 = 1; abbiamo 1 quid

cioè, se qualcuno ha una perdita di 1 dollaro in queste condizioni, allora posso solo ammirare l'estremo del trader - in questo caso ha 50 sterline di deposito... Se qualcuno ottiene 1 dollaro in una condizione di perdita, allora posso solo ammirare l'estremismo del trader - in quel caso ha un deposito di 50 dollari...

Penso che la seguente discussione sul testo del post sia inutile... Perché è irrispettoso discutere con i troll, disattenti come sono.

Onore.

double currMove=deposSize*proc/100 = 1*100/100 =1 generalmente significa che il deposito è 1$, non 50$ (e ha una perdita del100% )

:-)

 
EverAlex:
double currMove=deposSize*proc/100 = 1*100/100 =1 generalmente significa che il deposito è 1$, non 50$ (e c' è una perdita del100% )

bene.... con un deposito come questo, buona fortuna!

 

Vinin:

double CalcLotSize(double Lot,double lRisk,int lSL=0)


a cosa serve il lotto?

e in che cosa si misura l'iSL (penso che si parlasse di punti simbolo di trading sopra)?

...(lSL*dLotCost*dLotStep))*dLotStep; significa che non è in punti del simbolo di trading (MODE_POINT), ma in LOTSTEPs ?

o cosa?
 
EverAlex:

a cosa serve il lotto?

e in che cosa si misura l'iSL (penso che si parlasse di punti simbolo di trading sopra)?

...(lSL*dLotCost*dLotStep))*dLotStep; significa che non è in punti di simbolo commerciale (MODE_POINT), ma in LOTSTEPs ?

o cosa?

Questo è il calcolo del lotto corretto per il rischio. Quanto del deposito perderai quando scatta lo stop
 
Vinin:

Questo è il calcolo del lotto tenendo conto del rischio. Quale parte del deposito si perde quando scatta lo stop

Quindi lSL è quanti punti a SL

Punto = 0,00001 (su quotazioni a 5 cifre)

dLotStep = 0.01


La formula (lSL*dLotCost*dLotStep))*dLotStep è ok

Dovrebbe essere qualcosa come (lSL*dLotCost*Point))*dLotStep

Motivazione: