Tema interesante para muchos: las novedades de MetaTrader 4 y MQL4 - grandes cambios en camino - página 8

 
stringo:
Buscó y buscó. No pude encontrar uno...

No lo he dicho así.

Todavía no se ha pensado en el depurador, es decir, no se sabe si lo hará o no, pero como no se ha pensado, significa que no será "todavía".

http://forum.mql4.com/ru/56881/page4#820225

Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
  • www.mql5.com
Что будет нового в MetaTrader 4 и MQL4 - большие изменения на подходе - MQL4 форум
 

Mientras que usted está averiguando los detalles técnicos de la actualización, se le escapa un detalle importante: MetaTrader 4 tendrá Marketplace. Dada la prevalencia del 4, se puede estimar cuánto puede ganar un desarrollador de robots/indicadores en el mercado unido de 7 millones de operadores. Los resultados de MQL5 Market se pueden utilizar como base para hacer suposiciones y para tener una mejor idea de qué tipo de software es más popular entre los traders.

¿Aún no se ha registrado como promotor?

 
Pensé que al fusionar dos lenguajes, las directivas de compilación condicional como #ifdef son absolutamente necesarias - simplificaría la unificación de código entre dos plataformas, y la API dependiente de la plataforma se definiría en tiempo de compilación.
 

C-4:
Вот тут подумалось что при объединении двух языков абсолютно необходимы условные директивы компиляции типа #ifdef - это бы существенно упростило бы унификацию кодов между двумя платформами, и плотформозависимый API определялся на этапе компиляции. 

Sí, eso sería bueno.

Hasta ahora utilizo como alternativa torcida una construcción como

#define _DEBUG_OR_RELEASE_(DEBUG, RELEASE) DEBUG

Pero sería considerablemente más flexible con #ifdef

 
Lenar:

Mientras estamos resolviendo los detalles técnicos de la actualización, se nos ha escapado un detalle importante: MetaTrader 4 tendrá el Mercado. Dada la prevalencia de 4, se puede estimar cuánto puede ganar un desarrollador de robots/indicadores en el mercado unido de 7 millones de operadores. Los resultados de MQL5 Market se pueden utilizar como base para hacer suposiciones y para tener una mejor idea de qué tipo de software es más popular entre los traders.

¿Aún no se ha registrado como promotor?

Entonces vamos a por ti :)

De hecho, todo el mundo se ha dado cuenta y se alegra en silencio para no espantarles :)

 
Laryx:

No estoy de acuerdo con todos los argumentos de hrenfx, sin embargo, yo personalmente elegí MT5 únicamente por la OOP y la biblioteca estándar.

Realmente me gustaría que al introducir la POO en MT4++, se mantuvieran tantas interfaces de clases de la Biblioteca Estándar como fuera posible (idealmente, todas excepto las clases de negociación CTrade, CPositionInfo, relacionadas directamente con la compensación).

Por cierto, la misma hoja de cálculo de la que hablatodo el historial personalizado, en MT5 todavía es posible emularla, simplemente aprovechando esas características.

Me pregunto cómo es posible - para emular en el probador de MT5 (es decir, la prueba en su propia historia)?

¿Dónde dice eso?

 
serferrer:

Me pregunto cómo se puede emular esto en el probador de MT5 (es decir, probar en su historial).

¿Dónde dice eso?

No lo dice en ningún sitio. Esta es mi idea. Inicié un tema en este foro, pero nadie lo apoyó, así que me di cuenta de que a nadie le interesaba.

Si un Asesor Experto utiliza sólo clases de la Biblioteca Estándar para trabajar, y no utiliza las funciones de acceso directo al servidor, entonces la tarea de emulación es escribir clases derivadas de las clases de la Biblioteca Estándar, que no se aplicarían al servidor, y utilizarían sus propias variables internas.

Después, el Asesor Experto no recibe las clases originales de la Biblioteca Estándar, sino las clases derivadas, que en lugar de acceder al servidor pasan al Asesor Experto los resultados de sus propios cálculos internos. El Asesor Experto no nota el cambio - no le importa con qué trabajar - ya sea en los datos reales o históricos.

Para mí, ya he escrito una clase-almacenamiento de datos históricos y clases, los herederos de las series de tiempo (como SOPrep, CHigh, etc.), que pueden devolver al EA tanto los datos reales del servidor como los datos históricos del almacenamiento. Más adelante, escribiré clases de negociación como descendientes de las clases de la Biblioteca Estándar que pueden ser una "envoltura" para las operaciones del servidor real y realizar operaciones virtuales basadas en datos históricos. Una vez más, el Asesor Experto no se dará cuenta de la sustitución.

Todo esto es posible. Aunque, por supuesto, hay mucho trabajo por hacer.

 
Laryx:

No lo dice en ningún sitio. Fue idea mía. He iniciado un hilo en el foro, pero nadie lo ha apoyado, me he dado cuenta de que a nadie le interesa.

Si un Asesor Experto utiliza sólo clases de la Biblioteca Estándar para trabajar, y no utiliza las funciones de acceso directo al servidor, entonces la tarea de emulación es escribir clases derivadas de las clases de la Biblioteca Estándar, que no se aplicarían al servidor, y utilizarían sus propias variables internas.

Después, el Asesor Experto no recibe las clases originales de la Biblioteca Estándar, sino las clases derivadas, que en lugar de acceder al servidor pasan al Asesor Experto los resultados de sus propios cálculos internos. El Asesor Experto no nota el cambio - no le importa con qué trabajar - ya sea en los datos reales o históricos.

Para mí, ya he escrito una clase-almacenamiento de datos históricos y clases, los herederos de las series de tiempo (tipo SOPrep, CHigh, etc.), que pueden devolver al EA tanto los datos reales del servidor como los datos históricos del almacenamiento. Más adelante, escribiré clases de negociación como descendientes de las clases de la Biblioteca Estándar que pueden ser una "envoltura" para las operaciones del servidor real y realizar operaciones virtuales basadas en datos históricos. Una vez más, el Asesor Experto no se dará cuenta de la sustitución.

Todo esto es posible. Por supuesto, hay mucho trabajo.

Si escribes un indicador, que lea datos de un archivo (historial personalizado), anula las funciones estándar de recepción de datos (tanto de las cotizaciones como del entorno de mercado), utiliza una definición de contextos y serás feliz.

No comparto tu admiración por la Librería Estándar, es un monstruo enorme con pretensión de universalidad, creada sólo para ejemplos y para crear Asesores Expertos en el asistente.

Aunque para lo que fue escrito cumple bastante bien sus funciones.

 
Urain:

Deberías escribir un indicador que lea los datos de un archivo (historial personalizado), anular las funciones estándar de adquisición de datos (tanto de las cotizaciones como del entorno de mercado), utilizar la definición de contextos y serás feliz.

Eso es exactamente lo que hago. Ya he escrito clases que pueden pasar a un EA el historial personalizado (en lugar del real del servidor). Pero el EA no debe usar funciones del terminal directamente para la realización completa de mi idea. Digamos que el mismo OrderSend(). Debería funcionar sólo a través de un "wrapper", cuyo papel puede ser maravillosamente realizado por la Biblioteca Estándar. Escribimos clases derivadas, las introducimos en el EA y voilá: ahora funciona con datos históricos. Si el EA utiliza las funciones del terminal directamente, no podrá utilizar el historial.

No comparto tu admiración por la Librería Estándar, un enorme monstruo que pretende ser universal y que fue creado sólo para ejemplos y para crear Asesores Expertos en el asistente.

Pero cumple su propósito bastante bien.

Bueno, tal vez sea el efecto de mi largo trabajo con la librería MFC con la que quedé muy satisfecho y con la que encuentro muchos paralelismos. Estoy seguro de que los desarrolladores de la Biblioteca Estándar también están bastante familiarizados con MFC.

La principal ventaja de la Librería Estándar es el buen soporte de la ideología OOP, que permite pasar al Asesor Experto un historial personalizado para que funcione correctamente sin ninguna modificación.

¿Puedo preguntar por qué no te gusta la Biblioteca Estándar (bueno, además de la desventaja obvia - "pereza de aprender")?

 
Lenar:

Mientras investigábamos los detalles técnicos de la actualización, perdimos un detalle importante: el Mercado aparecerá en MetaTrader 4. Dada la prevalencia de la IV, podemos estimar cuánto puede ganar un desarrollador de robots/indicadores en el mercado unido de 7 millones de operadores. Los resultados de MQL5 Market se pueden utilizar como base para hacer suposiciones y para tener una mejor idea de qué tipo de software es más popular entre los traders.

¿Ya se ha registrado como promotor?

Ahora que hemos tocado el mercado, me gustaría escuchar algunas opiniones sobre un tema...

Según la filosofía de MQL5, los indicadores deben contar y los EAs deben operar.

Pero el Mercado vende soluciones ya hechas, como se dice, todo en uno.

¿Quizás habría que mejorar el compilador para que los indicadores se almacenen en los Asesores Expertos como recursos?

De lo contrario, tenemos que transferir el código del indicador al Asesor Experto, donde no tiene un entorno adecuado. De nuevo, el esquema "indicador por indicador" es toda una epopeya para transferir el código al Asesor Experto.