¿Cambios en el lenguaje MQL4?
33 respuestas
Matusiak Adrian
hace 8 años #113958
Hola.
Actualmente guardo mis estrategias a la fuente por SQ.
Pero en alguna página web he descubierto que el antiguo MQL4 no será soportado a partir de MT Build 600+,
Por favor, lea los detalles:
http://docs.mql4.com/mql4changes#compiler_difference
Especialmente:
“Las antiguas aplicaciones EX4 y DLL basadas en el antiguo formato RateInfo no funcionarán en el nuevo terminal. Es necesaria la conversión al nuevo formato".
y
“A partir del build 600, el lenguaje de programación MQL4 ha sido completamente revisado alcanzando el nivel de MQL5 - ahora usted puede desarrollar robots comerciales en MQL4/5 utilizando el entorno de desarrollo unificado MetaEditor, estilo único, bibliotecas y herramientas de depuración."
¿Alguna novedad al respecto?
mikeyc
hace 8 años #131368
Estamos en la versión 845 ahora, por lo que han sido 600+ durante meses y meses. Usted notará que es viejo EX4 y DLL que no son compatibles, posiblemente, desde SQ salidas de código fuente y no compilado cosas, no hace ninguna diferencia.
mikeyc
hace 8 años #131371
Hola Adrian,
Me parece que Mark va a tener que reescribir el MQ4 que sale de SQ para utilizar la nueva sintaxis. Debería poner #propiedad estricta en la parte superior del código y siga las nuevas directrices, http://docs.mql4.com/mql4changes#compiler_difference
Parece que el sitio MQL5 comprueba esto y rechaza cualquier cosa que no esté utilizando el nuevo modelo de programación..... 😮
@Mark – Any thoughts?
Salud,
Mike
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/07/tomas262_avatar-96x96.jpg)
tomas262
hace 8 años #131378
Gracias por compartirlo, se lo comunicaré a Mark.
mikeyc
hace 8 años #131399
He añadido #propiedad estricta a uno de los archivos MQ4 generados por SQ y obtuve:
6 error(es), 43 advertencia(s)
Al compilarlo.
Así que para SQ4 yo sugeriría añadir el #propiedad estricta al generador de código y corregir todos los errores y advertencias en la nueva generación de código.
Matusiak Adrian
hace 8 años #131403
Gracias por compartirlo, se lo comunicaré a Mark.
Gracias, Tomas.
He añadido #propiedad estricta a uno de los archivos MQ4 generados por SQ y obtuve:
6 error(es), 43 advertencia(s)
Al compilarlo.
Así que para SQ4 yo sugeriría añadir el #propiedad estricta al generador de código y corregir todos los errores y advertencias en la nueva generación de código.
Ya lo creo. Eso es lo que me pasa a mí también. Pero tengo más errores y advertencias. Tal vez es causado por un poco más de código fuente, etc.
mikeyc
hace 8 años #131404
Voy a tener un ir en la fijación de los errores en una de las estrategias, no creo que sea muy difícil, me pregunto si podría haber otra versión SQ3 que corrige esto en el generador de código? ¡Sería muy apreciado!
mikeyc
hace 8 años #131408
solo para confirmar he intentado subir un EA creado por SQ a la web de MQL5 hoy, y si, debe ser compilado con #property strict en el codigo fuente.
Umbral
hace 8 años #131414
mikeyc
hace 8 años #131416
Esto sólo afecta a los que venden sus EA, ¿correcto?
No cómo funcionan realmente en MT4.
Sí, sólo la venta de EAs y sólo a través de MQL5 sitio web.
Matusiak Adrian
hace 8 años #131418
No es sólo vender, también es compartir con amigos directamente en la plataforma MT.
De todas formas, se trata de compilar. En algún momento se dará la situación de que archivos compilados en SQ no funcionarán en terminales MT debido a una compilación antigua.
Umbral
hace 8 años #131420
Ya veo. Pero si tienes el archivo .str, puedes exportar la nueva versión desde SQ. Esto fue un gran problema cuando salió la build 7xx cuando algunos dejaron de funcionar del todo. Entiendo sin embargo que esto no los arreglará ahora mismo para subirlos a mql4.com
Esto no se limita a SQ también, todos los viejos EAs y los indicadores sufren de mql4 cambios de código.
mikeyc
hace 8 años #131422
Ya veo. Pero si tienes el archivo .str, puedes exportar la nueva versión desde SQ. Esto fue un gran problema cuando salió la build 7xx cuando algunos dejaron de funcionar del todo. Entiendo sin embargo que esto no los arreglará ahora mismo para subirlos a mql4.com
Esto no se limita a SQ también, todos los viejos EAs y los indicadores sufren de mql4 cambios de código.
Exportar de nuevo desde SQ no solucionará este problema hasta que se haga una versión que genere código que compile con #property strict incluida. Existe el riesgo de que una futura versión de MT4 (quién sabe, tal vez mañana 😮 ) sólo compilará la fuente que tiene estricto en...
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2024/01/geektrader_avatar-96x96.png)
geektrader
hace 8 años #131428
Las salidas de código MQ4 SQ es bastante sólido, seguro de propiedad estricta trae algunas advertencias, pero realmente se puede hacer caso omiso de ellos. El código SQ salidas a MQL4 es simplemente sólido y bien y ha sobrevivido a cualquier tipo de pruebas y el comercio en vivo que he hecho, y está hecho para construir 600 + (no se ejecutará en versiones anteriores). Así que todo está bien por ahora. ¡Y no se preocupe por el código no funciona más en el futuro, MetaQuotes es un pedazo de mierda de la empresa y que, como ya lo hicieron con la construcción 600, cambiar toda la MQL4 langauge de nuevo en el futuro sin ningún anuncio previo, estoy seguro! Puedo confirmar que todas las operaciones coinciden entre SQ -> MT4 -> trading en vivo y backtesting. Incluso para las estrategias scalper.
![](https://h8v7k6i3.rocketcdn.me/wp-content/uploads/2021/08/mark-fric_avatar-96x96.png)
Mark Fric
hace 8 años #131430
Confirmo que reescribiremos el generador de código en la nueva versión, para que sea compatible con #property strict,
muy probablemente soportaremos también la nueva sintaxis de MT5.
Mark
Arquitecto de StrategyQuant
Matusiak Adrian
hace 8 años #131433
¿Cuándo será la nueva versión Mark? Si estás hablando de SQ4 entonces a veces incluso dudo de su existencia 😉 hablamos la última vez que SQ4 debería estar en diciembre de 2014. Tenemos julio de 2015 😉 ¿Puedes arreglarlo en sq3 existente?