MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 18
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
¿Se ha actualizado también el manual del MQL4 (que está en el editor)?
sí con una solicitud de actualización. El manual de MQL4 está prácticamente basado en el 5 y no se corresponde con las realidades del compilador en este momento.
Corríjanme si me equivoco.
Utilizo una función de la biblioteca en un indicador, esta función declara algunas variables estáticas que participan en el cálculo de la matriz del indicador.
Si quiero cambiar los parámetros del indicador para corregir el cálculo del mismo (en función de las variables estáticas),
pasar la bandera a la función de la biblioteca que se encarga de la reinicialización (debe ampliar los parámetros de entrada de cada función que tenga variables estáticas)
hacer la puesta a cero de las variables estáticas en el cuerpo, y no olvidar eliminar la bandera antes de completar el cálculo.
Sería mucho más fácil si las variables estáticas tuvieran algún parámetro, establecido durante su declaración, responsable de que estas variables se pongan a cero durante la reinicialización.
Sería mucho más sencillo si las variables estáticas tuvieran algún parámetro a establecer cuando se declaran, responsable de que el valor de estas variables se restablezca o no en la reinicialización.
Sería aún más fácil, si los desarrolladores hacen una función especial como ResetStaticVars().
// Por cierto, no es tan fácil de hacer. Yo no lo haría. Una cosa es simplemente poner a cero todo el segmento de datos, y otra cosa es asignar correctamente todos los valores iniciales del usuario. Aunque es un dolor de cabeza.
En realidad (como paradigma) guardar los valores durante la vida del programa es bastante conveniente. Sólo hay una cuestión de compatibilidad con el pasado, así que...
Sé que esta es una parte del foro en la que se habla ruso, pero como se me da mal hablar ruso (aunque sé leerlo) espero que a nadie le importe publicar esto aquí (ya que la parte en inglés parece completamente inactiva en cuanto a estos temas y ya que no vi que alguien publicara sobre este asunto)
Hay un problema grave con el nuevo metatrader que tiene que ver con los parámetros de cadenas externas. Inicialmente tienen un valor correcto, pero en cuanto se cambia el marco temporal o el símbolo se pierde el contenido de un parámetro de cadena. He aquí un ejemplo sencillo que mostrará exactamente lo que ocurre. Este problema también ocurre cuando dichos indicadores se utilizan a través de la llamada iCustom() y eso hace que cualquier indicador de este tipo sea inutilizable desde cualquier EA u otro código
Sí, con la solicitud de actualización. El manual para MQL4 está casi basado en el 5 y no corresponde a las realidades del compilador en este momento.
¿quizás se han dejado algo ahí que está en el futuro próximo? cuento con ello.
¿Se ha actualizado también el manual del MQL4 (que está en el editor)?
No puedo entender por qué necesitamos un diseño como este
#property icon "\\Files\\button.ico"
No puedo entender por qué necesitamos un diseño como este
Sé que esta es una parte del foro en la que se habla ruso, pero como se me da mal hablar ruso (aunque sé leerlo) espero que a nadie le importe publicar esto aquí (ya que la parte en inglés parece completamente inactiva en cuanto a estos temas y ya que no vi que alguien publicara sobre este asunto)
Hay un problema grave con el nuevo metatrader que tiene que ver con los parámetros de cadenas externas. Inicialmente tienen un valor correcto, pero en cuanto se cambia el marco temporal o el símbolo se pierde el contenido de un parámetro de cadena. He aquí un ejemplo sencillo que mostrará exactamente lo que ocurre. Este problema también ocurre cuando dichos indicadores se utilizan a través de la llamada iCustom() y eso hace que cualquier indicador de este tipo sea inutilizable desde cualquier EA u otro código
Mladen, me resulta más fácil responder en ruso, ya que tú dominas la lectura.
Esta es mi solución a este problema. En mi código init() incluyo la función ReInit() que reinicializa esas variables globales, cuyos valores deben ser restaurados cuando el marco temporal o el símbolo cambian: