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

 
Vladislav Andruschenko:

Estoy de acuerdo - no dar el control, pero usted sabe cómo se requiere, como: Quiero establecer mi propia parada. hacer un ajuste.

Y sobre la salida del mensaje - gracias voy a pensar en ello.

Yo uso ambas opciones en todos los EAs. Si el stop loss está puesto a cero en la configuración de los parámetros, lo calculo en el Expert Advisor; si está puesto a más de cero, compruebo que es correcto y pongo el stop loss ya establecido. Se pueden hacer excepciones en el caso de los Asesores Expertos, en los que el stop loss no se utiliza en absoluto.
 
Vitalii Ananev:
Yo uso ambos en todos los EAs. Si el stop loss está puesto a cero en los parámetros, lo calculo en el Expert Advisor; si es más que cero, compruebo que es correcto y vuelvo a poner el stop loss. Se pueden hacer excepciones en el caso de los Asesores Expertos, en los que el stop loss no se utiliza en absoluto.

Sí, pero en macret no funciona con corrección si el servidor stopmin = 0.

Este no era el caso antes - tenía esta comprobación.

Ahora los moderadores en el Mercado ponen intencionadamente StopLoss 1 - con MinStop = 0 y sale el error 130 - producto no aceptado en el Mercado.

 
Vladislav Andruschenko:

Sí, esto es sólo para el mercado - pero no hay universalidad para ningún corredor

la forma en que funciona es que tienes que hacer un min stop a 3 spreads para ser aceptado en el mercado,

La única diferencia es que el mercado los acepta - hay que hacer un min stop y 3 spreads, pero en realidad esto es erróneo - si un broker min stop = 1 spread - entonces el usuario no podrá poner menos de 3 spreads.

Bafle.

Y qué sentido tiene poner un tope tan superficial. Se lo llevará el movimiento aleatorio del ruido.
 
Vitalii Ananev:
Qué sentido tiene poner un tope tan superficial. Se lo llevará el movimiento aleatorio del ruido.
No se trata de lo que pongan los usuarios, está claro que el stoploss no es de 1 punto, se trata de comprobar en el mercado, específicamente ponen stoploss = 1.
 
Vladislav Andruschenko:

Sí, pero en macret no funciona con corrección si el servidor stopmin = 0.

Este no era el caso antes - tenía esta comprobación.

Ahora los moderadores en el mercado ponen a propósito stoploom 1 - con minstop = 0 y sale el error 130 - producto no aceptado en el mercado. ...

Con la comprobación de la corrección me refería a lo que he dicho más arriba sobre la primera opción. Establezca su propio valor de distancia de parada mínima.
 
Vladislav Andruschenko:

Sí, esto es sólo para el mercado - pero no hay universalidad para ningún corredor

la forma en que funciona es que tienes que hacer un min stop a 3 spreads para ser aceptado en el mercado,

La única diferencia es que el mercado los acepta - hay que hacer un min stop y 3 spreads, pero en realidad esto es erróneo - si un broker min stop = 1 spread - entonces el usuario no puede poner menos de 3 spreads.

Bafle.

comprobar, si el nivelador de parada ha devuelto un valor distinto de cero, entonces utilizarlo, y si ha devuelto un valor de cero, entonces Ask-Bid

 
Alexander Bereznyak:

comprobar, si stop-Level ha devuelto un valor distinto de cero, entonces utilizarlo, y si ha devuelto cero, entonces Ask-Bid

pero no siempre min stop = spread,

es comprensible comprobarlo. :-) Lo compruebo,

 
Vitalii Ananev:
Con la comprobación de la corrección, me refería a lo que he dicho más arriba sobre la primera opción. Establezca su propio valor para la distancia mínima de parada.
es señalar con el dedo en el cielo o comprobar cuidadosamente las condiciones de negociación del instrumento, escribí más arriba cómo
 
Vladislav Andruschenko:

Gracias. Pero usted tiene la misma construcción que yo,

Lo siento, pero no he visto en qué parte de tu código se menciona el valor de la variable StopLevel. En el código que has citado, no hay ningún cambio en el valor de dicha 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, usted estará persiguiendo grandes paradas y ganancias, mientras que el nivel de parada ha disminuido hace mucho tiempo.

Sólo que has multiplicado en min stop = 0 sólo por spread*2, pero como sabemos en muchos brokers min stop = 3 spreads, ¿por qué has hecho 2?

No tengo información sobre 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. Por esta razón, compro cuentas reales sólo en aquellos corredores que representan el valor del nivel de parada correctamente.

Compruebo la parada mínima en cada tic.

Hice una conclusión basada en el nombre de la función - OnInitLevels. Se asocia a una sola acción.
 
Vladislav Andruschenko:
No se trata de lo que coloquen los usuarios, está claro que el stoploss no es de 1 pip - el punto está en la comprobación en el mercado, colocan a propósito stoploss = 1.

Hice esto

   if ((StopLimit<10 && StopLimit!=0)  || (StopLoss<10 && StopLoss!=0))
   {
      Alert("Error in parameters. Too small size of a parametr of 'Stop loss' or 'Stop Loss limit'");
      return(INIT_PARAMETERS_INCORRECT);
   }

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 tope inferior a 10 puntos.