// Definir macros de secuenciación del bucle OnCalculate #ifdef __MQL4__ // para MQL4 (como series) #define MOnCalcNext( _index ) ( _index-- ) #define MOnCalcBack( _index, _offset ) ( _index + _offset ) #define MOnCalcCheck( _index ) ( _index >= 0 ) #define MOnCalcValid( _index ) ( _index < rates_total ) #define MOnCalcStart \ ( rates_total - ( prev_calculated < 1 ? 1 : prev_calculated ) ) #else // para MQL5 (como no serie) #define MOnCalcNext( _index ) ( _index++ ) #define MOnCalcBack( _index, _offset ) ( _index - _offset ) #define MOnCalcCheck( _index ) ( _index < rates_total ) #define MOnCalcValid( _index ) ( _index >= 0 ) #define MOnCalcStart \ ( prev_calculated < 1 ? 0 : prev_calculated - 1 ) #endif
¿Por qué no utilizas ArraySetAsSeries()? Esto permitiría usar las mismas macros para ambas versiones del lenguaje.
No es una crítica, solo es por curiosidad.
Supongo que simplemente te resulta más cómodo.
He optado por utilizar macros para que la decisión se tome en tiempo de compilación, en lugar de ArraySetAsSeries(), que se ejecuta en tiempo de ejecución, en aras de una mayor eficiencia.
En este caso, dado que se trata de un indicador muy sencillo, la diferencia es prácticamente insignificante, pero en el caso de indicadores mucho más complejos, sí que puede haberla.
He optado por utilizar macros para que la decisión se tome en tiempo de compilación, en lugar de utilizar ArraySetAsSeries(), que se ejecuta en tiempo de ejecución, con el fin de ganar algo de eficiencia.
En este caso, dado que se trata de un indicador muy sencillo, la diferencia es prácticamente inapreciable, pero en el caso de indicadores mucho más complejos, sí que puede suponer una diferencia.
¡Gracias!
¡De nada!
Estaba buscando cómo se realizan los cálculos para el Heiken-Ashi y, en cuanto a los máximos, explican que es «el valor máximo entre el máximo, la apertura o el cierre del período actual», y «para los mínimos», el valor mínimo entre el mínimo, la apertura o el cierre del período actual. ¿No es eso lo mismo que decir que los máximos y mínimos coinciden con las barras? Si es así, tu idea de mostrarlos como líneas es sencilla y brillante: se puede ver la tendencia del Heiken-Ashi a primera vista sin renunciar a las velas normales.
Traducción automática aplicada por el moderador. En el foro en inglés, por favor, escribe en inglés.
La mayoría de las veces sí, pero cuando la apertura de Heikin Ashi (media móvil) se sitúa más allá del máximo o mínimo de la vela normal, entonces ese valor pasa a ser el máximo o mínimo de Heikin Ashi.
Lo siento, pero no he entendido muy bien el sentido de tu mensaje. ¿Podrías explicarlo con más detalle?
Creo que tu código es muy bueno y potente. No me he descargado el mq5.
Con el código para MT4 que has compartido, solo tengo que copiarlo y pegarlo en MetaEditor MQL5 y guardarlo como mq5, y todo funciona a la perfección.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Heikin Ashi Lines:
Una forma más sencilla de mostrar Heikin Ashi
Author: FMIC