William Roeder: Continuando desde el #23 y encapsulando en una función #26, ahora muestro una estructura que funciona tanto en MT4 como en MT5. (Para el post-build 600, he cambiado los puntos inválidos(#29) en los nombres de las variables, y apropiar los ints a las enumeraciones estándar).
No compilado, no probado. No compilado, no probado.
Hola William & Co.
Si llamas a iCustom varias veces para un indicador dado con el mismo símbolo y marco temporal, ¿se ejecuta el código completo del indicador repetidamente o MQL4 hace algo inteligente entre bastidores para almacenar en caché los búferes resultantes? Esperemos que sea esto último, especialmente para los indicadores más pesados... Tengo entendido que MQL5 mejora esta situación mediante el uso de asas, tratando los indicadores de forma similar a la de abrir/cerrar archivos.
Además, a la hora de programar EAs me interesa utilizar las clases derivadas de CIndicator de la Librería Estándar que probablemente ofrece un mayor control (y extensibilidad) en comparación con las funciones incorporadas (iCustom, iMACD, iBands, etc), por no hablar de que teóricamente debería ofrecer una semántica de programación similar en ambas plataformas, MT4 y MT5. Sin embargo, todavía no lo he probado y sigo desconcertado por las diferencias significativas en el código fuenteentre MQL4 y MQL5(Include/Indicators/*.mqh). ¿Sería tan amable de ofrecer su visión sobre los pros y los contras de su comprensión y experiencia con estas funciones / bibliotecas?
Dima Diall: Si llama al iCustom varias veces para un indicador dado con el mismo símbolo y marco temporal, ¿se ejecuta el código completo del indicador repetidamente o el MQL4 hace algo inteligente entre bastidores para almacenar en caché los búferes resultantes?
Si el gráfico del símbolo/TF específico no existe, se crea de forma invisible.
Si la combinación específica de indicador/parámetro(s) no está en el gráfico del símbolo/TF, se añade de forma invisible.
A continuación, se lee del búfer [índice] solicitado.
Si el gráfico del símbolo/TF específico no existe, se crea de forma invisible.
Si la combinación específica de indicador/parámetro(s) no está en el gráfico del símbolo/TF, se añade de forma invisible.
Entonces se lee desde el buffer [índice] solicitado.
Muchas gracias por la rápida respuesta, William -- es un enfoque interesante... ¿Estos indicadores creados de forma invisible se destruyen automáticamente cuando se termina el EA? Supongo que sí, al menos en MQL4; quizás en MQL5 haya que llamar explícitamente a IndicatorRelease() para los indicadores en uso por el EA.
PPS: ¿Hay alguna manera de habilitar las notificaciones por correo electrónico en este foro? He buscado en la configuración de mi cuenta y no he podido encontrar nada.
MQL5 Standard Library is written in MQL5 and is designed to facilitate writing programs (indicators, scripts, experts) for end users. Library provides convenient access to the most of the internal MQL5 functions.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Continuando desde el #23 y encapsulando en una función #26, ahora muestro una estructura que funciona tanto en MT4 como en MT5. (Para el post-build 600, he cambiado los puntos inválidos(#29) en los nombres de las variables, y apropiar los ints a las enumeraciones estándar).
Hola William & Co.
Si llamas a iCustom varias veces para un indicador dado con el mismo símbolo y marco temporal, ¿se ejecuta el código completo del indicador repetidamente o MQL4 hace algo inteligente entre bastidores para almacenar en caché los búferes resultantes? Esperemos que sea esto último, especialmente para los indicadores más pesados... Tengo entendido que MQL5 mejora esta situación mediante el uso de asas, tratando los indicadores de forma similar a la de abrir/cerrar archivos.
Además, a la hora de programar EAs me interesa utilizar las clases derivadas de CIndicator de la Librería Estándar que probablemente ofrece un mayor control (y extensibilidad) en comparación con las funciones incorporadas (iCustom, iMACD, iBands, etc), por no hablar de que teóricamente debería ofrecer una semántica de programación similar en ambas plataformas, MT4 y MT5. Sin embargo, todavía no lo he probado y sigo desconcertado por las diferencias significativas en el código fuenteentre MQL4 y MQL5(Include/Indicators/*.mqh). ¿Sería tan amable de ofrecer su visión sobre los pros y los contras de su comprensión y experiencia con estas funciones / bibliotecas?
Muchas gracias por la rápida respuesta, William -- es un enfoque interesante... ¿Estos indicadores creados de forma invisible se destruyen automáticamente cuando se termina el EA? Supongo que sí, al menos en MQL4; quizás en MQL5 haya que llamar explícitamente a IndicatorRelease() para los indicadores en uso por el EA.
PS: ¿Por casualidad tienes alguna experiencia con las clases CIndicator en la Biblioteca Estándar? He estado buscando en Internet ejemplos de código y no he podido encontrar mucho, aparte del escaso material de referencia en http://www.mql5.com/en/docs/standardlibrary/technicalindicators/CIndicators/CIndicator (o el sistema de ayuda incorporado).
PPS: ¿Hay alguna manera de habilitar las notificaciones por correo electrónico en este foro? He buscado en la configuración de mi cuenta y no he podido encontrar nada.