Errores, fallos, preguntas - página 1564
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
iCustom+IndicatorRelease. Probablemente no sea una solución de muleta para producir entidades complejas sobre la marcha. Sobre gustos no hay nada que discutir. La cuestión es hasta qué punto una muleta de este tipo sobre múltiples agentes va a suponer un despilfarro de recursos.
Bueno, casi todo es genial en el 5. La velocidad es de primera. Y aquí, lo siento, algo de pelos de punta donde no te lo esperas.
¿Por qué hacer un indicador de liberación?
Que envíe un evento gráfico al experto bajo prueba en cada nuevo tick.
Crear un indicador en cada tic seguido de un lanzamiento - ahí es donde están los recursos desperdiciados
Vasiliy mencionó que en FORTS (no en el probador) el mecanismo funciona a través de la suscripción y BookEvent. Esto elimina la necesidad de vincular el EA a cualquier gráfico.
¿Por qué hacer un lanzamiento a un indicador?
Que envíe un evento gráfico al experto bajo prueba en cada nuevo tick.
Crear un indicador en cada tic y luego liberarlo - es un desperdicio de recursos
No soy muy bueno para expresarme, así que no lo entiendes. Haga clic aquí para ver los detalles https://www.mql5.com/ru/code/280
¡Y cuántos recursos consume esta solución para implementar algo tan sencillo!
BookEvent aún no se ha implementado en el probador
Y no se hace un bucle durante un segundo, sino durante algo menos de una hora. Con la comprobación obligatoria de IsStopped()
El sueño, por cierto, es obligatorio. De lo contrario, se colgará el probador. Y los recursos del sistema serán devastados durante el funcionamiento normal del Asesor Experto.
Ni siquiera pruebe su variante
Código
Ni siquiera para probar su opción
Código
¿Y qué estabas probando aquí?
Lanzo ese código en el probador. Me cuelga conun bucle de sueño infinito detectado mientras hago pruebas.
Se ha dicho muchas veces: "Lea la documentación".
¿No has dicho: "He leído toda la documentación. ¿Varias veces?
¿Has leído esto? Parece que no has...
Si el tiempo actual en el probador excede el final del período de prueba cuando se ejecuta la función Sleep(), obtendrá un error "un bucle infinito en Sleep". Si se produce un error de este tipo, los resultados de las pruebas no se descartan, todos los cálculos se realizan en su totalidad (cantidad de operaciones, reducción de la deuda, etc.) y los resultados se pasan al terminal.
¿Has leído esto?
Y sobre la falta de ticks en el bucle en OnTimer necesitas pruebas reproducibles. ¿Los tienes?
Lo has escrito en la documentación.
En el probador, las llamadas a Sleep() no retrasan el proceso de prueba. Cuando se llama a Sleep(), los ticks generados se "reproducen" dentro del retardo especificado, como resultado de lo cual pueden activarse las órdenes pendientes, los stops, etc. Después de llamar a Sleep(), el tiempo modelado en el probador se incrementa en el intervalo especificado en el parámetro de la función Sleep.
Por lo tanto, el Asesor Experto no puede ser llamado en cada uno de estos ticks. ¿Se acepta la prueba?