MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 37

 
Renat:
Es decir, usted personalmente no tiene ningún problema de operatividad del software y está haciendo preguntas generales.

He leído sus preguntas varias veces y no las entiendo. Aquí estamos discutiendo los detalles.

No hay problemas de compilación. Hay problemas de operatividad, y según tengo entendido, tienen que ver con la mezcla de la lógica MQL5 con la MQL4. Sin embargo, los problemas que tratamos aquí no son suficientes para todas las ocasiones. Todo esto es un caso especial. Las reglas son necesarias. Si has publicado una guía preliminar o al menos la vista previa de las traducciones de las características y reglas de MQL5 a MQL4, no sólo nos ayudaría a nosotros sino también a ti en la comprensión de los problemas que surgen. E imagínate, habrá 500 páginas o más. ¿Cómo puedo releerlo?

 
ForexMoneyMaker:

No hay problemas de compilación. Hay problemas de operatividad, y según tengo entendido, tienen que ver con la mezcla de la lógica MQL5 con la MQL4. Sin embargo, los problemas que tratamos aquí no son suficientes para todas las ocasiones. Todo esto es un caso especial. Las reglas son necesarias. Si has publicado una guía preliminar o al menos la vista previa de las traducciones de las características y reglas de MQL5 a MQL4, no sólo nos ayudaría a nosotros sino también a ti en la comprensión de los problemas que surgen. E imagínate, habrá 500 páginas o más. ¿Cómo puedes leerlo todo?

en primer lugar, algo más puede cambiar (incluso cosas que afectan a la compatibilidad). en segundo lugar, ahora todos los "recursos descriptivos" se dedican a preparar una ayuda. ¿por qué molestarse en sobrecargar un sistema que ya funciona a pleno rendimiento? para que aumente el número de errores?
 

MT4 build 536, ME build 872.

El siguiente parámetro de entrada se utiliza en el indicador para una ventana independiente: extern string Currency_Name = "EURUSD";

Si el indicador se inicia sin cambiar el parámetro de entrada, el indicador se dibuja y funciona sin errores. Pero en cuanto cambio el símbolo después de la primera ejecución, por ejemplo "GBPUSD", el indicador no acepta el nuevo nombre del símbolo. En el Short_Name del indicador aparece el mismo nombre, pero el indicador no se dibuja en absoluto (campo vacío). Si se cambia el nombre del símbolo en la primera llamada, el indicador se dibujará con el nombre inicial, escrito en el programa.

En cuanto a la modificación de los valores numéricos de los datos iniciales del indicador, se modifican en todos los casos y el indicador se dibuja sin errores.

 
Renat:

Tener cientos de variables globales en un programa no es bueno.

La POO y las clases resuelven el problema de forma completa y drástica al ocultar los ámbitos y proporcionar un acceso protegido a los datos.

Tal vez no sea lo suficientemente bueno. Pero escribí allí por qué lo es. Era imposible implementar lo que se pretendía de manera diferente en MT4. No funcionaba de otra manera con los gráficos. Sólo a través de variables externas se puede establecer el estilo de los elementos gráficos. Si tenemos muchos elementos gráficos diferentes, tendremos muchas variables externas. Aparte del estilo, hay un gran número de propiedades de los elementos gráficos, que también se pueden cambiar SOLO CON VARIABLES EXTERNAS. Los gráficos están bien en la enseña. Pero en MT4 es un verdadero desastre. Por eso hay cientos de variables externas. Todavía no sabemos qué pasará con la nueva versión de MT4. Ya veremos.
 
nen:
Puede que no sea lo suficientemente bueno. Pero escribí allí por qué lo es. Era imposible implementar lo que se pretendía de forma diferente en MT4. No funcionó de otra manera con los gráficos. Sólo a través de las variables externas se puede establecer el estilo de los elementos gráficos. Si hay muchos elementos gráficos diferentes, también tendrás muchas variables externas. Además del estilo, hay muchas propiedades de los elementos gráficos que también se pueden cambiar SÓLO DENTRO DE LAS VARIABLES EXTERNAS. Los gráficos en ensign están bien. Pero en MT4 es un verdadero desastre. Por eso hay cientos de variables externas. No se sabe cómo será en la nueva versión de MT4. Ya veremos.

Por lo tanto, estamos hablando de variables, no de gráficos. Además, los gráficos son geniales en MT5 - puedes hacer cualquier cosa hasta juegos de ordenador. Mt4 está a punto de dar un paso adelante también.

¿Cómo se puede transmitir en cualquier programa un centenar de parámetros que el propio usuario debe cambiar en cualquier momento? Sólo con una tabla de parámetros de entrada. No depende del tipo de programa.

De todos modos, cientos de parámetros es el camino de los programadores a ninguna parte. Tenemos que aplicar métodos de control automático inteligente para reducir el número de parámetros por un factor de diez. Una vez que se empieza a pensar en esto, las soluciones llegan inmediatamente.

 
nen:

Si hay varios cientos de variables externas en el indicador y hay que cambiar unas decenas durante la instalación, entonces...

Antes de reinstalar, tendrá que recordar qué variables deben guardarse a partir de los valores que se modificaron durante la instalación anterior del indicador.

Sin entrar en la imposibilidad de deshacerse de 100 parámetros...

Para no tener que recordar lo que ya se ha cambiado, hay un botón de "Reinicio".

Y el nuevo comportamiento (guardar los valores introducidos de las variables después de la recompilación) hace que el trabajo sea más conveniente - no es necesario reconfigurar todas las copias del indicador, si se cambia algo en él.

 

Renat, Stringo, ¿se quedará Unicode para siempre?

 
input datetime  Date_From = D'08.10.2013';      // Начало периода
input datetime  Date_To = D'08.11.2013';        // Окончание периода
input bool      Column_Headers = true;          // Создавать заголовки колонок?

Este es un script, al iniciar el campo Date_From es siempre la fecha/hora local actual, el campo Date_To está bien. Cambiado el orden de los ajustes - si una variable de tipo datetime no es la primera de la lista, este defecto no existe

---

En la ayuda, PRICE_CLOSE tiene el tipo ENUM_APPLIED_PRICE, pero el compilador no lo sabe - 'ENUM_APPLIED_PRICE' - declaración sin tipo. ¿Lo arreglará la ayuda o el compilador?

---

Y en general para este editor/compilador - ¡gracias!

 

Hago cambios en el indicador ya compilado que está en el gráfico del par de divisas. Lo recompilo. Para que los cambios surtan efecto es necesario reiniciar todo el terminal. Quitar el indicador del gráfico y reiniciarlo no ayuda, cambiar el marco temporal no ayuda. Sólo el reinicio del propio terminal ayuda a ver los cambios realizados.

Por favor, arréglalo.

 
ObjectSetInteger(0,"Name",OBJPROP_CORNER,CORNER_RIGHT_LOWER);
ObjectSetInteger(0,"Name",OBJPROP_ANCHOR,ANCHOR_RIGHT_LOWER);

CORNER_RIGHT_LOWER y ANCHOR_RIGHT_LOWER no se detectan

Archivo Mqh, error de "identificador no declarado" en los registros


StringConcatenate funciona de forma extraña

Funciona así

StringConcatenate("Text 1 ","Text 2");
StringConcatenate("Text 1 ",10);
StringConcatenate(10," Text 2");
StringConcatenate(10,11);
StringConcatenate("Copyright ",CharToString(169));

Pero no funciona así (sólo aparece "©")

StringConcatenate(CharToString(169)," Copyright");




Razón de la queja: