Cálculo correcto del lote a partir del % de la fianza - página 2

 
Roger:

Por supuesto, me equivoqué, el real es 100*100*100/100/100000=0,1

ah, lo siento, estaba mirando el oro... ¿entonces no se puede comerciar con el oro usando su fórmula ahora?

Pero aún así, incluso el Kiwi probablemente no comprará tanto, y si tomas los Eurobucks, hay incluso un límite de alrededor de 0,05 (estamos hablando de dinero real) ...

 
¿Por qué tergiversas las cosas? Si no te gusta, no lo comas, o mejor dicho, si no sabes usarlo, no te molestes. Si lo hubieras puesto bien en la fórmula, habría funcionado, incluso en el oro.
 
Roger:
Bueno, para qué retorcerlo, si no te gusta, no lo comas, o mejor dicho, si no sabes usarlo, no te molestes. Si lo pones en la fórmula correctamente, funcionaría, incluso en el oro.

...tirando del obturador...

¿Qué quiere decir que no le gusta? ¿Qué debo hacer si pongo los parámetros anteriores para abrir una orden de mercado?

 
keekkenen:

el perno está siendo sacudido...

¿Qué quieres decir con que si no te gusta, no te lo comas? ¿Qué hay que hacer para abrir una orden de mercado utilizando los parámetros que he mencionado anteriormente?


¿Qué tiene eso que ver con el humor? Fuiste el primero en venir y empezar: la fórmula está mal, ¿y por qué es necesaria? Incluso sin entenderlo, en una corazonada, no será peor si te cagas en él primero.

Si el dólar es el segundo, la fórmula de cálculo es diferente.

Los hechos, por cierto, también son retorcidos.

 
Roger:
Si no te gusta, no lo comas, o para ser más precisos, si no sabes usarlo, no te molestes. Si lo pones en la fórmula correctamente, todo saldrá bien, incluso en el oro.

Bien, digamos que abrimos con un lote de este tipo (0,1), surge una pregunta razonable y cuántos puntos quedan antes de que el tío Kolya, ¿cuánto tiempo podemos aguantar?

Pero hay otras órdenes, no se "quedan de brazos cruzados" en otros pares también, bajan y el tío Kolya - tocado, tocado, ¿cómo debemos tratar con él cuando hay dinero real en juego?

 
Entonces, ¿qué tipo de normalidad se abriría en el 100% de la depo? El objetivo era: quiero abrir con el 5% de mi dinero sobrante, cuánto sería en lotes. No se ha pensado en otra cosa.
 

keekkenen:

Si tenemos 100 libras, 100 de apalancamiento y 100% de riesgo, es decir, abrimos a tope, ¿qué obtenemos?


keekkenen:

Bien, digamos que abrimos con un lote de este tipo (0,1), surge una pregunta razonable, y ¿cuántos puntos le quedan al tío Kolya, cuánto seremos capaces de aguantar?

Pero hay otras órdenes, tampoco se quedan "de brazos cruzados" en otros pares, bajan y el tío Kolya da un golpe de timón, ¿cómo hay que actuar cuando hay dinero real en juego?

¿Suele abrir una posición con todo el depósito, e incluso con una cuenta real (y con oro)?

¿Cómo ve los resultados?

 
wenay:
Este es mucho mejor, no hay cálculo de palanca con otra forma de hacerlo. Me gusta mucho el cálculo del lote basado en el % del depósito a una distancia determinada de pips. es decir, "para drenar el 20% del depósito en 10 pips = necesitas ?lote" esta función pregunta y calcula

No he notado ningún cambio en los cálculos, el tikvalue era = 1 y sigue siendo el mismo cuando se cambia el apalancamiento, y también se puede perder cuando se cambia el apalancamiento.

Puedes comprobar tu mismo con el script tu función, primero abriendo una cuenta demo con apalancamiento 1/200 y abriendo otra cuenta con el tamaño de 1/100 los cambios en el tamaño del lote no suceden y tikvalue como era 1 y se mantiene, en mi opinión la forma más fácil es solo hacer el apalancamiento inicial en variables externas y saltar de él en los cálculos ha funcionado, cuando cambias el apalancamiento en la máquina a uno menor inmediatamente el lote se calcula en el apalancamiento menor.

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 );
}
 
¿Para qué sirve NormalizeDlouble() en el cálculo de lotes?
 
wenay:
Este es mucho mejor, aquí no hay cálculo de apalancamiento. Me gusta mucho el cálculo del lote sobre el % del depósito para una distancia determinada de pps. es decir, "para drenar el 20% del depósito en 10 pps = se necesita ?lote" función esta pregunta y cuenta

lot = AccountBalance()*LotRisk/100.0;
pero seguramente aquí debería ser AccountBalance y no AccountFreeMargin, entonces quizás no sea un experto por un lote?