Campeonato de Trading Automatizado 2007: errores comunes en los expertos - página 10

 
Estoy utilizando un EA con bucle multidivisa. En el probador no se comprueba en absoluto porque no reacciona a los nuevos ticks. Todo lo demás, espero, está bien. ¿No se rechazará el EA debido a la imposibilidad de realizar la prueba?
 
Alexz:
Estoy utilizando un EA con bucle multidivisa. En el probador no se comprueba en absoluto porque no reacciona a los nuevos ticks. Todo lo demás, espero, está bien. ¿No se rechazará el EA debido a la imposibilidad de realizar la prueba?
int start()
{
    while ( !IsStopped() )
    {
        RefreshRates();
 
                // код эксперта
 
        if ( IsTesting() ) break;
        Sleep(500);
    }
    return(0);
}
 

¡Gracias, Andrei!

Se ha añadido una única comprobación de prueba fuera del ciclo principal.

 
Alexz:

Se ha añadido una única comprobación de prueba fuera del ciclo principal.

No es así. De esta manera el experto no funcionará en absoluto (?), pero en mi variante - funcionará como en el real, pero corriendo cada tick.
 
komposter:
Alexz:

He añadido una única comprobación para probar fuera del bucle principal.

No es así. Así que EA no funcionará en absoluto (?), pero en mi variante funcionará como en la vida real, pero corriendo cada tick.


Cierto, no lo hará :)

Pero necesito que ni siquiera intente probar, porque de todas formas no habrá tratos.

Gracias de nuevo por la reflexión.

 
Renat:

Me pregunto si sería un error si un EA no manejara las re-cotizaciones. ¿Y se puede retirar a un EA del Campeonato por ello?

Es difícil detectar este problema ni en el Probador de Estrategias, ni en el modo de demostración o incluso en tiempo microrreal. Al menos no se produjo al menos una vez durante un mes de pruebas. Sin embargo, parece que los organizadores han decidido alimentarnos con requotes en este campeonato. Lo juzgo basándome en el hecho de que mi Asesor Experto intentó cerrar una orden en un mercado generalmente tranquilo pero obtuvo recotizaciones. Y esto a pesar de que RefreshRates() precede inmediatamente a OrderClose(). Bueno, se recibe el error 138 y el pedido sigue funcionando. Por supuesto, la lógica se rompe, pero no está tan mal.

Señores concursantes, ¿están sus criaturas preparadas para luchar contra los requetés?

 
Valmars писал (а): Señores concursantes, ¿están sus criaturas preparadas para hacer frente a los requotes?

Si el deslizamiento = 10, creo que las recotizaciones serán escasas.
 
No, no lo es, RacerATC. Los requerimientos tienen bastante poco que ver con el deslizamiento. Ni siquiera sé cuál es. Valmars tiene razón: hay que hacer un montón de comprobaciones paranoicas y bucles adecuados para que el EA funcione como está previsto. Pero incluso en el código fuente del Asesor Experto incluido en el paquete estándar y en la Base de Código no he visto todavía ninguna comprobación normal.
 
RacerATC:
Valmars escribió (a): Señores concursantes, ¿están sus criaturas preparadas para luchar con el deslizamiento?

Si el deslizamiento = 10, creo que las recotizaciones serán escasas.

Ahí es donde te equivocas, tengo deslizamiento = 5 , y mira el extracto del registro:

2007.09.25 01:00:24    '452209': requote 232.38 / 232.45 for order #4848040 buy 0.50 GBPJPY closing at 232.37
2007.09.25 01:00:24    '452209': request was accepted by server
2007.09.25 01:00:23    '452209': close order #4848040 buy 0.50 GBPJPY at 232.96 sl: 230.96 tp: 236.96 at price 232.37

Un punto por encima del precio de cierre solicitado.

 
Sólo utilizamos órdenes pendientes y no tenemos problemas con las recotizaciones (hace tres años que no utilizo las órdenes directas, incluidas las de cierre)
Razón de la queja: