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

 
Andrey Kaunov:

Artem, 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 Asesor Experto se estrelle.

...

No, no es así. Y sí pasó la prueba en su EA en NZDUSD (sin operaciones - también un resultado), y no se estrelló en la espera interminable en cualquier lugar. No esperó a la finalización de la prueba en GBPUSD M30 - y le dio un error de prueba muy largo.

No sé cómo funciona el validador. No puedo decir por qué a menudo falla al abrir posiciones en el NZDUSD. Tal vez haya condiciones especiales allí.
 
Renat Akhtyamov:

pequeño arreglo, sólo por diversión:

sOr=bOr=0;

bool sCorrect=true;

      for (i=OrdersTotal()-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )
         {

            if (OrderSymbol()!=Symbol()) continue;

            if(OrderCloseTime()!=0) continue; // лучше не забывать. Бывает редко но метко
            if(OrderType()==OP_BUY)bOr=bOr+1;
            if(OrderType()==OP_SELL)sOr=sOr+1;
         } else {

            sCorrect=false; // не смогли выбрать ордер, sOr, bOr могут быть некорректны

         }
      }

if (sCorrect) {

// sOr, bOr точно корректны

if(sOr==0)

{

//open sell

}

if(bOr==0)

{

//open buy

}

}

OrderSelect como condición independiente
 
Artyom Trishkin:

No es necesario poner parámetros rígidos. Todos los parámetros deben calcularse a partir de las condiciones comerciales. Deja el lote de apertura en la configuración. Si se calcula el lote, entonces si hay escasez de fondos, incluso con el lote más pequeño, 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 probar dicha EA.

La versión actual es como una ametralladora en el probador. Este es un EA completamente diferente, casi no hay condiciones de apertura. Ya es imposible hacer que las operaciones no se abran mediante ajustes externos. Sólo prueba con un tamaño de lote y depósito irreal. Pero incluso entonces no entra en coma como en el validador.

Así que a mi sugerencia, no respondiste.


Artyom Trishkin:

No. No necesito el dinero de otras personas para que la persona que lo pagó no se dé cuenta por sí misma. Lo más importante no es el dinero, sino el resultado.

Esto es demagogia.

Llevo más de 10 años programando MQL. Y esta es la primera vez que no puedo hacer el trabajo. ¿Por qué? La respuesta es obvia, no depende de mis esfuerzos y conocimientos. El problema está en el otro lado.
 
Andrey Kaunov:

Sí, la versión actual brota como una ametralladora en el probador. Esto ya es un EA completamente diferente, casi no hay condiciones de apertura. Ya es imposible hacer que las operaciones no se abran con ajustes externos. Sólo prueba con un tamaño de lote y depósito irreal. Pero incluso entonces no entra en coma como en el validador.

Así que sobre mi sugerencia, no has contestado.


Es demagogia.

Que sea la demagogia.

Me salí de la discusión para no hacer demagogia.

 
Artyom Trishkin:

Que haya demagogia.

Me salí de la discusión para no hacer demagogia.

Por supuesto, no es necesario hacer demagogia. Podrías hacer entrar en la discusión a la persona que maneja el validador y preguntarle por qué. De lo contrario, estamos hablando de nada y no tiene sentido.

 
Maxim Kuznetsov:

pequeño arreglo, así de fácil:

OrderSelect como condición independiente

Es muy posible, no lo discutiré.

Todavía no me he encontrado con ninguno de estos matices.

 
Renat Akhtyamov:

Es muy posible, no lo discutiré.

Todavía no me he encontrado con ninguno de estos matices.

¿De qué estás hablando, Renate? ¿Me he perdido algo?

 
Andrey Kaunov:

Sí, la versión actual brota como una ametralladora en el probador. Esto ya es un EA completamente diferente, casi no hay condiciones de apertura. Ya es imposible hacer que las operaciones no se abran con ajustes externos. Sólo prueba con un tamaño de lote y depósito irreal. Pero incluso entonces no entra en coma como en el validador.

Así que sobre mi sugerencia, no has contestado.


Esto es demagogia.

Llevo más de 10 años programando MQL. Y esta es la primera vez que no puedo hacer el trabajo. ¿Por qué? La respuesta es obvia, no depende de mis esfuerzos y conocimientos. El problema está en el otro lado.

Piensa en lo que ocurre en Stop Out. (ya tienes Margin Call, Steppe está más cerca que nunca)

su operación se cerrará forzosamente, pero usted ignora tal opción y va a por ella cada tick (en el historial, es largo) y envía órdenes incorrectas.

 
Andrey Kaunov:

Sí, por supuesto, no hay necesidad de hacer demagogia. Podrías hacer entrar en la discusión a la persona que maneja el validador y preguntarle por qué. De lo contrario, no hacemos más que hablar de la nada.

Aunque me digan la razón, que es poco probable, no te la daré. No sólo tú, sino toda la comunidad. Y no es porque sea malo.

Así que - primero el perfilador de código, entonces usted sigue exactamente las recomendaciones del artículo que usted sabe, y luego - publicar el asesor.

Профилирование кода - Разработка программ - Справка по MetaEditor
Профилирование кода - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
 
Andrey Kaunov:

¿De qué estás hablando aquí Renat? ¿Me he perdido algo?

Parece haber escrito consecutivamente, pregunta y respuesta.

Todas las páginas del hilo son accesibles.