Comprobación del stop mínimo en los EAs publicados en el mercado. - página 3

 
Ihor Herasko:

Lo siento, pero ¿en qué parte de tu código se habla del valor de la variable StopLevel? En el código que has citado, no hay ningún cambio en el valor de esta variable. Hay un cambio de valores de Stop y Profit. En consecuencia, si los aumenta una vez, será imposible devolver estos valores a sus valores iniciales. Por lo tanto, perseguirá grandes paradas y ganancias, mientras que el nivel de parada ha disminuido hace mucho tiempo.

No poseo la información de muchos corredores (docenas, cientos). Con los brokers con los que tengo que tratar (ya que los clientes tienen cuentas allí), veo una cifra de 2 spreads. Tal vez haya un valor diferente en alguna parte.

En mi opinión, este es un enfoque fundamentalmente erróneo para que un corredor proporcione información. Existe un mecanismo estándar para obtener restricciones en los fogones. Si recibimos 0 en la solicitud, pero en realidad no es cero. Luego, cámbialo en cada tic, según el valor de la dispersión, como lo necesites. Mi corredor que muestra correctamente el nivel de parada es el único que tiene el valor correcto.

Hice una conclusión basada en el nombre de la función - OnInitLevels. Se asocia a una sola acción.

Tienes razón, nuestras funciones no son similares, pero el sentido es el mismo,

Cuando cambio la variable interna, la externa permanece igual y cuando el tope es mayor o menor - entonces todas las variables internas se reordenan, todo está bien.

Pero min stop = asignar spread *2 Voy a probar lo que dice el servidor MetakvotesDemo.

 
Vitalii Ananev:

Hice esto

El Asesor Experto tiene la capacidad de ajustar el stop de 3 maneras. Establezca manualmente el tamaño del stop (StopLoss) o póngalo a cero.

Si StopLoss es igual a cero, su tamaño se calcula en base a las condiciones del mercado, pero limitado por la variable StopLimit.

Y en OnInit() se comprueba que estos parámetros son correctos, porque no tiene sentido poner un stop por debajo de 10 puntos.

Sí, pero ¿qué pasa si el tope = 8, como en MetacvotesDemo Server?
 

Hice esto.

int OnInitLevels(string symToWorkmodify)
  {
   int stoplevel;
   stoplevel=SymbolInfoInteger(symToWorkmodify,SYMBOL_TRADE_STOPS_LEVEL);
   double ask=SymbolInfoDouble(symToWorkmodify,SYMBOL_ASK);
   double bid=SymbolInfoDouble(symToWorkmodify,SYMBOL_BID);
   double point=SymbolInfoDouble(symToWorkmodify,SYMBOL_POINT);
   int SPREAD=(ask-bid)/point;
   if(stoplevel==0)stoplevel=SPREAD*2;
   if(lot<SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MIN);else
   if(lot>SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX))lots=SymbolInfoDouble(symToWorkmodify,SYMBOL_VOLUME_MAX);else lots=lot;
   if(StopLoss>0 && StopLoss<stoplevel)StopLosss=(int)stoplevel;else StopLosss=StopLoss;
   if(TakeProfit>0 && TakeProfit<stoplevel)TakeProfits=(int)stoplevel;else TakeProfits=TakeProfit;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;
   if(TakeProfitALL>0 && TakeProfitALL<stoplevel)TakeProfitsAver=(int)stoplevel;else TakeProfitsAver=(int)TakeProfitALL;
   if(TrailingStop>0 && TrailingStop<stoplevel)TrallingStops=(int)stoplevel;else TrallingStops=TrailingStop;

   return(0);
  }

Esperaré a escuchar lo que tiene que decir el moderador.

 
Vitalii Ananev:

Hice esto

El Asesor Experto tiene la capacidad de ajustar el stop de 3 maneras. Establezca manualmente el tamaño del stop (StopLoss) o póngalo a cero.

Si StopLoss es igual a cero, su tamaño se calcula en base a las condiciones del mercado, pero limitado por la variable StopLimit.

Y en OnInit() se comprueba que estos parámetros son correctos, porque no tiene sentido poner un stop por debajo de 10 puntos.

No debería sugerir esto, sus comprobaciones no contienen ninguna referencia a las condiciones comerciales de la cuenta, las cifras vienen del techo
 
Alexander Bereznyak:
No puedes sugerir esto, tus comprobaciones no tienen ninguna referencia a las condiciones de negociación de la cuenta, los números son del techo
Son del techo aquí, no voy a escribirte todo el código del Asesor Experto aquí. Depende de ti si estás de acuerdo o no con mi enfoque, no te lo voy a imponer.
 
Vladislav Andruschenko:
sí, pero si stop = 8, por ejemplo, como el servidor MetakwotsDemo?
¿Quieres decir que el stop loss = 8? En el ejemplo he establecido el stop loss mínimo no basado en las condiciones de negociación. Pero en base a la conveniencia y a la estrategia de trading implementada en el EA.
 
Vitalii Ananev:
¿Quieres decir que el nivel de parada = 8? En el ejemplo he establecido el tamaño mínimo de stop loss no basado en las condiciones de negociación. Pero por razones de conveniencia y la estrategia de negociación implementada en el EA.

Sí, lo entiendo, estrategia y demás.

no se trata de estrategia, etc.

¡Cuando pones un EA en el Mercado, te cortan la estrategia para comprobarlo, por lo que te ponen un stop no de 100 puntos como para una estrategia, sino de 1!

resulta que es un error de 130, eso es lo que preguntaba :-)

 
Vitalii Ananev:
¿Quieres decir que el nivel de parada = 8? En el ejemplo he establecido el stop loss mínimo no basado en las condiciones de negociación. Se basa en la conveniencia y en la estrategia de trading implementada en el EA.
La razonabilidad puede entrar en conflicto inadvertidamente con las condiciones comerciales de la cuenta
 
Vladislav Andruschenko:

Sí, lo entiendo, estrategia y demás.

no se trata de estrategia, etc.

¡Cuando pones un EA en el Mercado, te cortan la estrategia para comprobarlo, por lo que te ponen un stop no de 100 puntos como para una estrategia sino de 1!

resulta que es un error de 130, eso es lo que preguntaba :-)

Si el nivel de stop es flotante, entonces o bien se vincula a un spread como sugirió Alexander, o bien se establecen unas condiciones límite por debajo de las cuales no se puede establecer el tamaño del stop loss.
 
Vitalii Ananev:
A eso me refiero, si el nivel de stop es flotante, entonces o lo vinculas al spread como sugirió Alexander o estableces unas condiciones límite por debajo de las cuales no puedes establecer el tamaño del stop loss.

He comprobado la propagación*2 - a ver qué dicen.