Problema con la validación de EA en el mercado - página 11

 
Vadim Zotov:

No nos importa. Que lo compruebe. Sólo deja que diga lo que hizo para causar el error. Pero tal y como está ahora, nos mostraron el código de error y eso es todo: no podemos volver a simularlo porque las condiciones del experimento no están fijadas. Esto hace que sea muy difícil encontrar errores.

Es decir, si te dicen lo que están haciendo allí, te saltarás deliberadamente sus condiciones, y no trabajarás en el resto, por lo que quieres...

 
Artyom Trishkin:

Por lo tanto, si se le dice lo que están haciendo allí, simplemente pasará por alto deliberadamente sus condiciones y no trabajará en el resto, por lo que quiere?

Algún tipo de sospecha excesiva. ¿El objetivo es ayudar a la persona a encontrar el error o simplemente burlarse de ella haciéndola trabajar?

Que compruebe todas las condiciones posibles. Pero que diga cuál es la causa del error. Esto permitirá a la persona no adivinar por los posos del café, sino modelar la situación, encontrar el error y corregirlo.
 
Ivan Titov:

¿Por qué el valor de MinLot incluye un cambio de volumen? No debe estar ahí. Un ejemplo sencillo: pegaremos en esta función el valor 0,285 con lote mínimo 0,01, incremento 0,01 y lote máximo 100,0 (valores estándar en la mayoría de los brokers). En la salida obtenemos el mismo valor sin cambios. Es el error 131, porque 0,285 no es un múltiplo de 0,01 (paso de volumen).

También hay que tener en cuenta que después de la línea:

if (ret > MaxLots) ret = MaxLots;

no se comprueba que el volumen sea correcto. Al fin y al cabo, MaxLots está calculado, pero su valor puede tener un dígito significativo tanto en el 5º como en el 8º carácter, que no cabrá en el paso de volumen.

P. S. Utilice el botón SRC para insertar su código.

 
Artyom Trishkin:

Así que si te dicen lo que están haciendo allí, simplemente eludirás deliberadamente sus condiciones y no trabajarás en el resto, ¿así lo quieres?

Artem, esto es una verdadera exageración. El objetivo es escribir un producto de calidad, no meterse con el código. Creo que alguna vez has escrito un programa para alguien y te has encontrado con que el cliente ha colapsado el programa por alguna acción no intencionada. En este caso, un mensaje de error no es suficiente, ya que hay que entender cómo se ha obtenido este resultado. Y esta es exactamente la secuencia de acciones.

Por ejemplo, no basta con especificar el error en el servicio Desk. Debe adjuntar los pasos que provocan la reproducción de este error. De este modo, se produce un desequilibrio evidente: cuando se habla del producto de una empresa, ésta debe proporcionar información sobre la reproducción, mientras que cuando se habla del producto del mercado, se supone que todos los programadores deben adivinar por sí mismos la causa del error.

 
Ihor Herasko:

Artem, esto es una verdadera exageración. El objetivo es escribir un producto de calidad, no meterse con el código. Creo que alguna vez has escrito un programa para alguien y te has encontrado con que el cliente ha colapsado el programa por alguna acción no intencionada. En este caso, un mensaje de error no es suficiente, ya que hay que entender cómo se ha obtenido este resultado. Y esta es exactamente la secuencia de acciones.

Por ejemplo, no basta con especificar el error en el Service Desk. Debe adjuntar los pasos que provocan la reproducción de este error. Así, se produce un desequilibrio evidente: cuando se habla de un producto de una empresa, ésta debe proporcionar información sobre la reproducción, mientras que cuando se habla de un producto del mercado, se supone que todos los programadores deben adivinar por sí mismos la causa del error.

Estoy de acuerdo, me emocioné un poco - hay conspiraciones en todas partes

 
Ihor Herasko:

¿Por qué el valor de MinLot incluye un cambio de volumen? No debe estar ahí. Un ejemplo sencillo: pegaremos en esta función el valor 0,285 con lote mínimo 0,01, incremento 0,01 y lote máximo 100,0 (valores estándar en la mayoría de los brokers). En la salida obtenemos el mismo valor sin cambios. Es el error 131, porque 0,285 no es un múltiplo de 0,01 (paso de volumen).

También hay que tener en cuenta que después de la línea:

no se comprueba que el volumen sea correcto. Al fin y al cabo, MaxLots está calculado, pero su valor puede tener un dígito significativo tanto en el 5º como en el 8º carácter, que no cabrá en el paso de volumen.

P. S. Por favor, inserte el código a través del botón SRC.


Gracias por sus comentarios.

 
Ihor Herasko:

Artem, esto es una verdadera exageración. El objetivo es escribir un producto de calidad, no meterse con el código. Creo que alguna vez has escrito un programa para alguien y te has encontrado con que el cliente ha colapsado el programa por alguna acción no intencionada. En este caso, un mensaje de error no es suficiente, ya que hay que entender cómo se ha obtenido este resultado. Y esta es exactamente la secuencia de acciones.

Por ejemplo, no basta con especificar el error en el Service Desk. Hay que adjuntar los pasos que provocan la reproducción de este error. De este modo, se produce un desequilibrio evidente: cuando se habla de un producto de una empresa, ésta debe proporcionar información sobre su reproducción, mientras que cuando se habla de un producto del mercado, se supone que todos los programadores deben adivinar por sí mismos la causa del error.


Pero el hombre está hablando de negocios.

Escribir cómo se probó el producto, con qué parámetros y en qué periodo es un asunto minucioso.

Y se necesitará mucho menos tiempo para arreglar este fallo.

 
Vladimir Gribachev:

Pero el hombre está haciendo un punto.

Anotar cómo se ha probado el producto, con qué parámetros y durante qué periodo es una cuestión minuciosa.

Y se necesitará mucho menos tiempo para arreglar este fallo.

¡Gracias por el apoyo, colegas!

Hasta ahora tenía la impresión de que mi voz era un chillido en el desierto. Todos los intentos de encontrar la verdad en este asunto han caído en un silencio ensordecedor.

Espero que, después de todo, se nos escuche y que los moderadores dejen de mantener en secreto las condiciones de sus experimentos sobre nuestros avances.

 

Paz por Squeak - al moderador una sirena)

No entiendo el requisito de abrir operaciones en cualquier símbolo y marco temporal con valores iniciales arbitrarios. Por ejemplo, ¿cómo abrir una operación en EURUSD con 0,06 lotes y un depósito inicial de 30 dólares? Hace un mes que intenté publicar el producto.

 
Ivan Titov:

Paz por Squeak - al moderador una sirena)

Otra cosa que no está clara es el requisito de que el EA debe abrir operaciones en cualquier símbolo y marco temporal con valores iniciales arbitrarios. Por ejemplo, ¿cómo abrir una operación en EURUSD con 0,06 lotes y un depósito inicial de 30 dólares? Hace casi un mes que intenté publicar el producto.

Nadie te obliga a abrirlo con tanto.

Realiza una comprobación del lote máximo permitido, y a un valor determinado por encima del permitido, el lote se recalculará al máximo posible.