El error es que no hay operaciones comerciales - página 12

 
Renat Akhtyamov:

acertijos ;)

No es que las pruebas sean extrañas, hay errores de lógica básica. ¿Qué tipo de acertijos son?

Si no hay margen para la apertura, el cierre no se tendrá en cuenta. OrderSelect no funcionará más.

Tengo miedo de ver lo que hay "en el robot principal, que es 100%, incluso 100500 trabajando en demo y real".

 
Andrey Kaunov:

¡¡¡Llevo una semana desmenuzando este código!!! Se ha eliminado todo lo que podría causar un error o impedir la apertura de una operación. Déjeme enviarle el código fuente y vea usted mismo qué es lo que falla. Estoy seguro de que nada debería interferir.

Incluso un simple EA puede chirriar la comprobación. Hubo un pase, si lo recuerdas, en el que no hubo operaciones en dos pares.


Te dan lo que quieres.

Como mínimo, las condiciones comerciales se habrían descrito en el informe,

o es más fácil de adivinar, no lo sé.

 
Maxim Kuznetsov:

No es que las pruebas sean raras, es la lógica básica la que está mal. ¿Qué tipo de acertijos hay?

Si no hubo margen para la apertura, tampoco se tendrá en cuenta el cierre. OrderSelect no dejará que siga funcionando.

Tengo miedo de ver que hay "un robot básico que es 100%, incluso 100500 trabajando en demo y real".

Sí, lo hay, lo veo todo

Lo único que te impide poner el código correcto - el probador se lo traga entero

Básicamente ya te lo he dicho: cuenta primero el número de oficios, no mires los billetes, pero no estás entendiendo nada...
 
Renat Akhtyamov:

resulta que no había operaciones en NZD o GBP

Hmm, interesante

porque todo funciona en el probador de Andrew.

En el probador, todo funciona en todos los pares. Los parámetros de entrada, que crean las condiciones para la entrada(me refiero a la gran, principal EA), que en algunos valores haría imposible abrir el comercio, yo simplemente eliminado de los externos y establecerlos valor constante. Este fue el primer paso. Luego he eliminado todas las condiciones para abrir la transacción, excepto las más simples, para evitar la creación de una transacción tras otra. Sin embargo, el código sigue sin pasar la comprobación.

¿Qué debo hacer? ¿Escribir un Asesor Experto desnudo sin ninguna condición, como este sencillo, para pasar la validación?

 
Andrey Kaunov:

¡¡¡Llevo una semana desmenuzando este código!!! Se ha eliminado todo lo que podría causar un error o impedir la apertura de una operación. Déjeme enviarle el código fuente y vea usted mismo qué es lo que falla. Estoy seguro de que nada debería interferir.

Incluso un simple EA puede chirriar la comprobación. Hubo un pase, si lo recuerdas, en el que no hubo operaciones en dos pares.


No es necesario tratar de conseguir operaciones en cada uno de los símbolos probados.

Es necesario gestionar correctamente sus errores de apertura.

No importa si se hacen tratos en alguno de los símbolos o no. Es importante que la no apertura de la posición sea manejada correctamente por el Asesor Experto. En su caso - un mensaje al diario, porque es imposible abrir una posición con el lote mínimo con un saldo de un dólar.

¿Oyes lo que te digo? No fuerce la apertura de posiciones en todos los símbolos negociados. El Validador se convierte intencionadamente en un colegial estúpido y observa cómo reacciona su Asesor Experto a los ajustes estúpidos.

Ya estoy empezando a invocar tranquilamente a los espíritus malignos....... :(((

 
Renat Akhtyamov:

Sí, lo veo todo.

Lo único que me impide publicar el código correcto es que el probador se lo trague entero.

Básicamente te lo he dicho antes: tienes que contar el número de operaciones, pero se te ha pasado...

No, Renat, el validador genera un cierto error en eso también. He intentado


 
Andrey Kaunov:

No, Renat, el validador genera un cierto error en eso también. He intentado


sOr=bOr=0;

      for (i=OrdersTotal()-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol())
         {
            if(OrderType()==OP_BUY)bOr=bOr+1;
            if(OrderType()==OP_SELL)sOr=sOr+1;
         }
      }

if(sOr==0)

{

//open sell

}

if(bOr==0)

{

//open buy

}

 
Artyom Trishkin:

No es necesario intentar por todos los medios conseguir operaciones en cada uno de los símbolos que se prueban.

Es necesario gestionar correctamente sus errores de apertura.

No importa si se han realizado operaciones con alguno de los símbolos o no. Es importante que la no apertura de la posición sea manejada correctamente por el Asesor Experto. En su caso - un mensaje al diario, porque es imposible abrir una posición con el lote mínimo con un saldo de un dólar.

¿Oyes lo que te digo? No fuerce la apertura de posiciones en todos los símbolos negociados. El validador se convierte a propósito en un colegial estúpido y observa cómo reacciona su Asesor Experto a los ajustes estúpidos.

Ya estoy empezando a invocar tranquilamente a los espíritus malignos....... :(((

Artyom, he preguntado por enésima vez y no he obtenido una respuesta coherente (sin ofender). Por qué siempre se enciende un tonto para el NZDUSD, y después de eso entra en algún tipo de fallo con una espera interminable. Es el validador el que se bloquea, no el Asesor Experto. No hay lugar para que el EA se estrelle. Te pagaré 50 dólares, Artem, si arreglas el código para que pase la validación todo el tiempo, en lugar de una vez cada 20-30 intentos, como ahora.

¿De acuerdo? ¿Envío el código?

 
Andrey Kaunov:

En el probador, todo funciona en todos los pares. Los parámetros de entrada, que crean las condiciones de entrada(me refiero al EA grande y principal), que en algunos valores harían imposible abrir una operación, simplemente los eliminé de los externos y los puse a un valor constante. Este fue el primer paso. Luego he eliminado todas las condiciones para abrir la transacción, excepto las más simples, para evitar la creación de una transacción tras otra. Sin embargo, el código sigue sin pasar la comprobación.

¿Qué hay que hacer, escribir un Asesor Experto desnudo sin condiciones, como ese sencillo, para pasar la validación?

No tienes que introducir ningún parámetro duro. Todos los parámetros deben calcularse a partir de las condiciones comerciales. En la configuración, deje el lote para ser abierto. Si se calcula el lote, en caso de escasez de fondos, incluso en el lote mínimo, mostrar un mensaje al respecto. Todos los demás parámetros de la transacción también deben ser comprobados, controlados y corregidos. Si la corrección es imposible, se le notificará en consecuencia.

Sin embargo, si hay muchas condiciones y todas dependen del estado actual del comercio y las señales, es probable que no haya acuerdo en el validador. En este caso, es necesario un enfoque individual para las pruebas de dicha EA.

 
Andrey Kaunov:

Artyom, es la segunda vez que pregunto y no he recibido una respuesta inteligible (sin ánimo de ofender). Por qué siempre se enciende el NZDUSD y luego se estrella con una espera interminable. Es el validador el que se bloquea, no el Asesor Experto. No hay lugar para que el EA se estrelle. Te pagaré 50 dólares, Artem, si arreglas el código para que pase la validación todo el tiempo, en lugar de una vez cada 20-30 intentos, como ahora.

¿De acuerdo? ¿Quieres que te envíe el código?

No. No necesito el dinero de otro para que alguien que lo pagó no se dé cuenta por sí mismo. Lo más importante no es el dinero, sino el resultado.