Probador de Estrategias de MetaTrader 5: errores, fallos, sugerencias de mejora - página 72

 

Quién sabe cómo utilizar SB para crear OOP EAs, por favor, crear un EA como una cartera de 20 idénticos TS. Y compartir los resultados del rendimiento de dicha cartera de TS en el Probador.


Como ejemplo, para mí un solo TS (en órdenes pendientes) tarda un segundo en pasar. Una cartera de 20 operaciones de este tipo requiere más de 30 minutos. Es decir, la ralentización no es 20 veces, sino 2.000 veces, dos órdenes de magnitud más de lo que debería.

Resulta que el probador no es adecuado para el comercio de carteras.

 
fxsaber:

Por poner un ejemplo, tardo un segundo en pasar una operación (en una orden pendiente). Una cartera de 20 TSs de este tipo > 30 minutos. Es decir, la ralentización no es 20 veces, sino 2.000 veces, dos órdenes de magnitud más de lo que debería.

Resulta que Tester no es adecuado para el comercio de carteras.

Cada TS en cada tick recorre en ciclos todas las órdenes buscando la suya?

 
Andrey Khatimlianskii:

Cada TC en cada tick ejecuta un bucle a través de todas las órdenes buscando la suya?

Sí, pero eso no es lo que está causando la ralentización. Por ejemplo, si lo ejecutamos en Optimizer, la velocidad aumenta exactamente 10 veces.

 
fxsaber:

Sí. Pero eso no es lo que está causando la desaceleración. Por ejemplo, si se ejecuta en el optimizador, la velocidad se multiplica por 10 exactamente.

Entonces, ¿qué se ralentiza? ¿Las partes internas del probador (comprobación de la activación de la orden, el margen, etc.)?

Hice una lista única de pedidos y el acceso a ella desde todos los CT, aceleró notablemente el trabajo.

 
Andrey Khatimlianskii:

¿Qué es lo que ralentiza las cosas entonces? ¿Internas del probador (comprobación de la activación de la orden, margen, etc.)?

El optimizador se diferencia de uno simple en que no hay un registro para cada pedo. Lo más probable es que el registro cree la mayor parte de los retrasos.

Esto aceleraría el trabajo considerablemente.

En Terminal un EA de la cesta de 20 EAs funciona perfectamente.

 
fxsaber:

Quién sabe cómo utilizar SB para crear OOP EAs, por favor, crear un EA como una cartera de 20 idénticos TS. Y compartir los resultados del rendimiento de dicha cartera de TS en el Probador.


Como ejemplo, para mí un solo TS (en órdenes pendientes) tarda un segundo en pasar. Una cartera de 20 operaciones de este tipo requiere más de 30 minutos. Es decir, la ralentización no es 20 veces, sino 2.000 veces, dos órdenes de magnitud más de lo que debería.

Resulta que el probador no es adecuado para el comercio de carteras.

Todavía no puedo comprobarlo, los ordenadores están ocupados, pero el tiempo de prueba de la cartera de TS está aumentando definitivamente

Tengo un "corte" de TCs por tiempo de operación de EA, el tiempo de operación de EA rara vez se superponen - y la tarea es evaluar una cartera ya optimizado en el probador de TCs, si la cartera de plomada - la prueba se termina, en general, es posible trabajar en el probador



existe la sospecha de que las órdenes pendientes aumentan el tiempo de prueba, y con seguridad - el cálculo del margen es una operación muy "cara", mi perfilador pone la mayor parte del tiempo en la llamada a OrderCalcMargin() - es muy probable que la misma comprobación tenga lugar en el probador para las órdenes pendientes


necesitas probar con un EA de prueba para encontrar la verdad

 
Igor Makanu:

existe la sospecha de que las órdenes pendientes aumentan el tiempo de las pruebas y, sin duda, el cálculo del margen es una operación muy "cara", mi perfilador dedica la mayor parte del tiempo a llamar aOrderCalcMargin()- es muy probable que el probador realice una comprobación similar para las órdenes pendientes

No uso esta función en ningún sitio. Y corro en modo pips, donde el propio probador ignora el cálculo de márgenes.

 

¿qué podría ser, dónde cavar?

prueba en todos los símbolos de la visión general del mercado:

todos los agentes han terminado y el temporizador sigue funcionando...

lo más extraño es que antes de empezar la prueba, había 31 en el resumen, así como el punto de parada. pero otros 8 se abrieron solos, bastante extraños, nunca he abierto una operación en ellos, de exóticos.

 
Igor Zakharov:

Lo más extraño es que antes de empezar la prueba, había 31 en la revisión, así como el punto de ruptura. pero otros 8 se abrieron solos, bastante extraño, nunca he abierto ofertas en ellos, de exóticos.

Después de reiniciar el ordenador, el número de aperturas es de 42. aparecen después de pulsar "start". la prueba llega al final. se añaden las mismas operaciones (a primera vista, no las he comprobado todas). el registro es el mismo de siempre - conectado, sincronizado...

 
Igor Zakharov:

Después de reiniciar el ordenador se convierten en 42. aparecen después de pulsar "start". la prueba llega al final. se añaden los mismos (a primera vista, no los he comprobado todos). en el registro todo está como siempre - conectado, sincronizado...

¿Se utilizan para recalcular el beneficio o el margen en la moneda del depósito (el probador los añade automáticamente al abrir la posición)?

Razón de la queja: