Discusión sobre el artículo "Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte X): Compatibilidad con MQL4" - página 2
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
También quiero ser capaz de ejecutar su biblioteca en Virtual. Para ello necesito tener acceso a la parte de la librería estilo MT4.
He conseguido ejecutarla
Es decir, todo el modelo de eventos de la librería funciona también en entorno virtual.
He enviado una variante de su biblioteca, que funciona en MT5 a través de su MT4-estilo-lógica.
La cuestión es que las bibliotecas multiplataforma tienen una probabilidad mucho mayor de funcionar en la parte de la biblioteca de estilo MQL4 que en la de estilo MQL5. Por lo tanto, cuando se utilizan bibliotecas multiplataforma, prefiero utilizar su lógica de estilo MQL4 en MT5. Es mucho más fiable en MT5.
Creo que en MT5 su lógica MQL5-style tardará mucho tiempo en detectar bugs, mientras que MQL4-style tendrá bugs, pero sólo un número mínimo y no críticos.
En esta librería no hay división de la lógica en MQL5 y MQL4. Trabaja con el estado real y los cambios reales en el estado del entorno comercial. No se utilizan funciones puramente MQL5-OnTradeXXX - todo se toma del estado del entorno comercial. Es decir, no es un modelo basado en eventos. Por eso digo - la lógica es la misma, las implementaciones son ligeramente diferentes debido a la diferencia en las funciones necesarias para trabajar con el entorno.
En su biblioteca, todo está subordinado a portar MQL5-estilo a MQL4-estilo, mientras que aquí - en esta biblioteca - es más bien lo contrario - MQL5-estilo (como más flexible) es portado a MQL4. Por lo tanto, la biblioteca proporciona un poco más para MQL4 que las características estándar de MQL4 - por ejemplo, tiene un PositionID similar para MQL4, aquí se puede averiguar durante el trabajo (no al calcular la historia) de qué orden se generó la posición. Desafortunadamente, no hay ofertas para MQL4 - no hay tales datos. Bueno, o no pensé mucho en ello....
Basado en todo lo anterior, repito - no hay división en dos estilos - es el mismo para ambas plataformas. Por lo tanto, no entiendo su deseo de convertir dos veces a MQL4 lo que ya se ha convertido.
Basándome en todo lo anterior, repito - no hay división en dos estilos - es el mismo para ambas plataformas. Por lo tanto, no entiendo su deseo de convertir dos veces a MQL4 lo que ya se ha convertido.
El malentendido es sólo en la terminología. Su biblioteca para MT4 es una envoltura, que está escrito en MQL4. Este es el estilo MT4. Esta es la parte que necesitaba. En realidad, lo he hecho.
El malentendido es sólo en la terminología. Su biblioteca MT4 es una envoltura escrita en MQL4. Esto es MT4-estilo. Esta es la parte que necesitaba. En realidad, lo he hecho.
Hola Artem. Estoy teniendo problemas para trabajar con esta libreria. Estoy intentando usarla en MQL4.
Ayer la conecté a mi EA en el tester e incluso recibí mensajes de apertura o cierre de posiciones. Pero hoy he transferido lo que tenía para el tester a un nuevo EA, sin botones para abrir posiciones y estoy intentando recibir un mensaje sobre apertura o cierre de posiciones, pero no lo consigo. Y según mis planes debería obtener un ticket de posición, precio y tiempo. No pude conseguir esto ni siquiera en el tester.
Y lo más desconcertante es que ahora he puesto mi sonda con botones en la gráfica..... No sale ningún mensaje. Póngalo de nuevo en el probador, todo funciona.
ps; Lo he descubierto. Es necesario habilitar OnChartEvent con evento personalizado.
Y lo más desconcertante es que ahora he puesto mi sonda con botones en la gráfica..... No sale ningún mensaje. Lo vuelvo a poner en el tester y todo funciona.
Eliminar todas las referencias al temporizador de la EA - la biblioteca crea su propio temporizador para él y trabaja en él. Todo se hace por simplicidad y conveniencia.
Eliminado el temporizador, inserta OnChartEvent en este formulario. Botón de control es probablemente no es necesario, y el evento de usuario creo que se crea en algún lugar en la selva de la biblioteca. Pero no he conseguido el resultado.
He quitado el temporizador e insertado OnChartEvent en este formulario. El control del botón probablemente no es necesario, y el evento personalizado creo que se crea en algún lugar en la selva de la biblioteca. Pero no obtuve el resultado.
Artem, por favor, dime qué función desempeña la sección de código resaltada
¿Cómo puede ejecutarse este código si el temporizador no está activado?
Pero si se elimina esta sección de código, los mensajes de eventos no se imprimen. Pero todo funciona con ella.
Y me gustaría obtener un ticket, precios y posiblemente algunas otras propiedades de posiciones y órdenes junto con el mensaje de evento.