Calculo del número de lotes con 1 % de riego

 

Hola,


Tengo un EA que me opera correctamente con un lote fijo, pero ahora quiero que el tamaño de la posición sea el 1% de la cuenta. He hecho varias pruebas y no encuentro la manera.

Agradecería que alguien me dijera como lo tengo que realizar.


Muchas Gracias,

 
Mira en la sección de CodeBase, allí hay muchos ejemplos ;)
 
La verdad que pretendía ayudar con esto. Pero no sé exactamente cuál es la duda. Por desgracia me he dado cuenta hace unos días con un producto que uso, que hay mucha gente que no tiene ninguna idea de riesgo del trading, por lo que no sé cómo operan, y no entiendo cómo gestionan. Así que voy a dar una pincelada. Solo dos datos rápidos: 1 lote son 100.000 unidades de moneda base. Si el apalancamiento es 1:500, se necesitan (100000/500) = 200€ de margen para usar 1 lote en forex. En una cuenta de 1000€, 1 lote con este apalancamiento es un 20% de la cuenta (de partida, cada pip de se vaya en contra, va a suponer un % alto de la cuenta). Cada pip en negativo va a ser aprox 8€. Así que calcula el riesgo a partir de ahí. Como dijo el compañero José Ramón, busca ejemplos en el market
 
otorrente:

Hola,


Tengo un EA que me opera correctamente con un lote fijo, pero ahora quiero que el tamaño de la posición sea el 1% de la cuenta. He hecho varias pruebas y no encuentro la manera.

Agradecería que alguien me dijera como lo tengo que realizar.


Muchas Gracias,

Te voy a dar exactamente la fórmula que buscas, primero definimos el parámetro de riesgo:

input double RiskFactor = 1.0; (Riesgo 1%)

Y después escribimos la fórmula dentro del código, así es como lo hago yo:

double LotSize=MathRound((RiskFactor*(Balance/(StopLoss/TickValue))/100)/minLot)*minLot;

En lugar de MathRound también puedes usar MathFloor para que redondee a la baja, de esta manera 0.015 serían 0.01 lotes en lugar de 0.02.

 
David Diez:

Te voy a dar exactamente la fórmula que buscas, primero definimos el parámetro de riesgo:

Y después escribimos la fórmula dentro del código, así es como lo hago yo:

En lugar de MathRound también puedes usar MathFloor para que redondee a la baja, de esta manera 0.015 serían 0.01 lotes en lugar de 0.02.

Gracias David,

Me ha funcionado perfecto. Ha sido un exito!!

 
otorrente:

Gracias David,

Me ha funcionado perfecto. Ha sido un exito!!

¡De nada!