Calcolo corretto del lotto dalla % del deposito - pagina 2

 
Roger:

Naturalmente, ho sbagliato, quello vero è 100*100*100/100/100000=0,1

ah, scusa, stavo guardando l'oro... quindi niente trading in oro usando la tua formula ora?

Ma ancora, anche il Kiwi probabilmente non comprerà una tale quantità, e se si prendono gli Eurobucks, c'è anche un limite di circa 0,05 (stiamo parlando di denaro reale) ...

 
Se non ti piace, non mangiarlo, o meglio, se non sai come usarlo, non disturbarti. Se l'avesse messo nella formula in modo corretto, avrebbe funzionato, anche sull'oro.
 
Roger:
Be', perché torcerlo, se non ti piace, non mangiarlo, o meglio, se non sai come usarlo, non disturbarti. Se lo metti nella formula in modo corretto, funzionerebbe, anche sull'oro.

...tirando l'otturatore...

Che cosa devo fare se inserisco i parametri di cui sopra per aprire un ordine a mercato?

 
keekkenen:

il chiavistello è stato fatto sobbalzare...

Cosa significa che se non ti piace, non mangiarlo? Cosa bisogna fare per aprire un ordine a mercato usando i parametri che ho menzionato sopra?


Cosa c'entra questo con l'umorismo? Sei stato il primo a venire e a cominciare - la formula è sbagliata, e perché ne hai bisogno? Anche senza capirlo, a sensazione, non sarà peggio se prima ci caghi sopra.

Se il dollaro viene per secondo, la formula di calcolo è diversa.

Anche i fatti, a proposito, sono distorti.

 
Roger:
Se non ti piace, non mangiarlo, o per essere più precisi, se non sai come usarlo, non disturbarti. Se lo metti nella formula giusta, tutto funzionerà, anche sull'oro.

Bene, diciamo che abbiamo aperto con un tale lotto (0,1), sorge una domanda ragionevole e quanti punti sono rimasti prima dello zio Kolya, quanto tempo possiamo resistere?

Ma ci sono altri ordini, non se ne stanno "fermi" anche su altre coppie, vanno giù e zio Kolya - toc, toc, come dobbiamo comportarci quando ci sono soldi veri in gioco?

 
Quindi che tipo di normale si aprirebbe sul 100% del depo? L'obiettivo era - voglio aprire sul 5% del mio denaro libero, quanto sarebbe in lotti. Nessun altro pensiero è stato portato avanti.
 

keekkenen:

Se abbiamo 100 sterline, 100 di leva e 100% di rischio, cioè apriamo con l'intero importo, cosa otteniamo?


keekkenen:

Bene, diciamo che abbiamo aperto con un tale (0,1) lotto, sorge una domanda ragionevole, e quanti punti sono rimasti allo zio Kolya, quanto saremo in grado di resistere?

Ma ci sono altri ordini, anche loro non "stanno con le mani in mano" su altre coppie, scendono e lo zio Kolya fa un colpo di spugna, come ci si deve comportare quando ci sono soldi veri in gioco?

Aprite spesso una posizione con tutto il deposito, e anche con un conto reale (e con l'oro)?

Come vede i risultati?

 
wenay:
Questo è molto meglio, non c'è calcolo della leva con un altro modo di farlo. Mi piace molto il calcolo del lotto sulla % del deposito per una data distanza di pips. cioè "per drenare il 20% del deposito in 10 pips = avete bisogno di ?lot" questa funzione chiede e calcola

Non ho notato alcun cambiamento nei calcoli, tikvalue era = 1 e rimane lo stesso quando si cambia la leva, e si può anche perdere quando si cambia la leva.

Potete controllare voi stessi con lo script la vostra funzione, prima aprendo un conto demo con leva 1/200 e aprire un altro conto con la dimensione di 1/100 i cambiamenti nella dimensione del lotto non accade e tikvalue come era 1 e rimane, a mio parere il modo più semplice è solo per rendere la leva iniziale in variabili esterne e saltare da esso nei calcoli ha funzionato, quando si cambia la leva nella macchina ad un più piccolo immediatamente il lotto viene calcolato sulla leva più piccola.

int start()
  {

   double  tic  = MarketInfo( Symbol(), MODE_TICKVALUE ); 

   Comment(
   "AccountLeverage  =  ",AccountLeverage() ,"\n",
   "LotSize =  ",DoubleToStr(LotSize(OP_BUY,20,300),2)," TickValue =  ",DoubleToStr(tic,2) );

   return(0);
  }
//+------------------------------------------------------------------+
double LotSize( int type, double LotRisk, int SL  )
{   //    int znakov_lot=0;
        double  lot_min         = MarketInfo( Symbol(), MODE_MINLOT  ); 
        double  lot_max         = MarketInfo( Symbol(), MODE_MAXLOT  ); 
        double  lot_step        = MarketInfo( Symbol(), MODE_LOTSTEP ); 
        double  lotcost         = MarketInfo( Symbol(), MODE_TICKVALUE );       
                
        double  lot             = 0.0;
        double  dollarsPerPip   = 0.0;
        
        lot = AccountBalance()*LotRisk/100.0;
        dollarsPerPip = lot/SL;
     //   if (lot_min<2) {znakov_lot=0;  if (lot_min<0.2) {znakov_lot=1;  if (lot_min<0.02) {znakov_lot=3;  if (lot_min<0.002) {znakov_lot=4; }}}}      
        lot = NormalizeDouble( dollarsPerPip/lotcost, 2 );      
        
        lot = NormalizeDouble( lot / lot_step, 0 ) * lot_step;
        
        if ( lot < lot_min ) lot = lot_min;
        if ( lot > lot_max ) lot = lot_max;
        
        if ( AccountFreeMarginCheck( Symbol(), type, lot ) < 10 || GetLastError() == 134 ) 
        { 
                Alert ( "Impossible to open position with lot = ", DoubleToStr( lot, 2 ), ". Not enough money." );
                return(-1);
        }

        return( lot );
}
 
A cosa serve NormalizeDlouble() nel calcolo del lotto?
 
wenay:
Questo è molto meglio, non c'è nessun calcolo della leva qui. Mi piace molto il calcolo del lotto sulla % del deposito per una data distanza di pps. cioè "per drenare il 20% del deposito in 10 pps = hai bisogno di ?lot" funzione questa domanda e conta

lot = AccountBalance()*LotRisk/100.0;
ma sicuramente qui dovrebbe essere AccountBalance e non AccountFreeMargin, quindi forse non un esperto di un lotto?