Errores, fallos, preguntas - página 2859
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
En general, ¿qué opina de una posible aplicación?
Hay muchas posibilidades de aplicación
pero todo se reduce a la tarea de intercambio de datos entre EAs
la forma más fácil es comprobar el permiso para la inicialización y realizar la inicialización misma en OnTick() - permitiría evitar restaurar los gráficos y luego ejecutar el EA en ellos, y guardar el EA antes de cerrarlo sería posible hacerlo en OnDeinit()
noes importante quién gestionará este zoo, si el EA principal o un servicio
En el registro del probador
¿Qué significa?
En el registro del probador
¿Qué significa?
Significa que cuando se recibe el siguiente valor de m1 ohlc (o estado de la barra cuando se comprueba por precios de apertura), el campo de tiempo contiene 0
función indefinida significa que el problema se ha producido fuera de las funciones predefinidas (OnTick, OnTimer, etc.), es decir, en el bucle principal del comprobador
Significa que cuando se obtiene el siguiente valor m1 ohlc (o el estado de la barra cuando se comprueba por precios de apertura) el campo de tiempo contiene 0
función indefinida significa que el problema se ha producido fuera de las funciones predefinidas (OnTick, OnTimer, etc.), es decir, en el bucle principal del comprobador
Todo ha funcionado bien durante todo el día y luego ha empezado. ¿Qué puedo hacer como usuario?
Significa que cuando se obtiene el siguiente valor m1 ohlc (o el estado de la barra cuando se comprueba por precios de apertura) el campo de tiempo contiene 0
función indefinida significa que el problema se ha producido fuera de las funciones predefinidas (OnTick, OnTimer, etc.), es decir, en el bucle principal del comprobador
No entiendo, ¿hay un error en mi código o es un error en el terminal? He borrado todo el historial, pero no ha servido de nada.
Añadido:
¡Encontré una función en mi código, al desactivarla se evita el error, pero en otro EA esta función funciona correctamente! ¿Cómo es eso? Puedo dejarlo en mi mensaje privado.
Incluso cuando esta función con errores está habilitada, OnTick() se ejecuta completamente en la primera barra y luego ese error.
En diferentes terminales se confirma el error.
Se ejecuta en las garrapatas - no hay error...
Pero la extrañeza está en el registro:
En los ticks si mirar la herramienta, la primera garrapata fue exactamente a las 10:00, y la sesión de negociación es todavía cerrado en este momento. Esto es en modo visual, sin garrapata la primera impresión viene a las 10 en punto.
La forma más sencilla es comprobar el permiso de inicialización al principio de cada EA en OnTick()
Este es el principal problema de la tarea.
Trata de prestar atención a las identificaciones de la carta y corre por antigüedad. Pero esto no anula la interacción de los EA. O hacer un archivo o tal vez una base de datos SQLite con los ID de los gráficos en la secuencia de lanzamiento.
Algo así como, en la primera inicialización, si no hay Chart_ID() en la lista, entonces se introduce en la lista. Si no se cierra por cierre de terminal, se elimina de la lista. De esta manera será posible configurar la interacción de los EAs.
Este es el principal punto de fricción del problema.
esbozado como yo lo veo... creado 2 EA con este código:
y un control EA, que funciona en temporizador ( 5 seg )
Comprobado, todo funciona, lo único, o no funcionaba con GlobalVariableSetOnCondition() para hacer un registro en variables globales
Este es el principal problema de la tarea.
GlobalVariableSetOnCondition es todo lo que se necesita para resolver el problema.
La operación sólo se permite cuando GlobalVariableSetOnCondition ha devuelto true.
Después de la inicialización exitosa y la liberación de los recursos, devuelva la variable principal a su estado original y otro EA se iniciará.
En DeInit - borrado incondicional de la variable, para no encontrarse en la terminal sin EAs en absoluto (si la carga anterior no se completó correctamente).
Gracias por las recomendaciones. Voy a mirar GlobalVariableSetOnCondition.