Discusión sobre el artículo "Desarrollamos un indicador Heiken Ashi personalizado utilizando MQL5"

 

Artículo publicado Desarrollamos un indicador Heiken Ashi personalizado utilizando MQL5:

En este artículo, aprenderemos cómo crear nuestro propio indicador usando MQL5 según nuestras preferencias. Dicho indicador se utilizará en MetaTrader 5 para interpretar gráficos o como parte de asesores expertos.

Los gráficos Heiken Ashi son similares a los gráficos de velas normales, pero los métodos para calcular las velas son distintos. Como ya sabemos, un gráfico de velas normal calcula los precios basándose en una serie de precios reales (apertura, máximo, mínimo y cierre) de un periodo determinado, pero Heiken Ashi tiene en cuenta los precios similares anteriores (apertura, máximo, mínimo y cierre) al calcular sus velas.

Así es como se calculan los valores de Heiken Ashi:

  • Open = (apertura de la vela anterior + cierre de la vela anterior) / 2
  • Close = (apertura + cierre + máximo + mínimo de la vela actual) / 4
  • High = valor más alto desde el máximo, apertura o cierre del periodo actual
  • Low = valor más bajo desde el mínimo, apertura o cierre del periodo actual

Según el cálculo, el indicador construye velas alcistas y bajistas. Los colores de estas velas indicarán la dirección correspondiente del mercado: alcista o bajista. A modo de comparación, a continuación le mostramos las velas japonesas tradicionales y el Heiken Ashi.

 Heiken Ashi

Autor: Mohamed Abdelmaaboud

 

Declaración- Definición

Hola,
Veo que utiliza los miembros OnInit(),- OnDenit(),- OnTick() para la programación orientada a objetos.
Pero, ¿la declaración o inicialización de las variables, por ejemplo double heikenAshiOpen[]... no pertenece una vez en el OnInit()- y en consecuencia la evaluación de las variables (definición), así como las variables de objeto, fastEMA y slowEMA en el ticker?

 

En principio sí, pero no aquí, ya que las variables volverían a perder sus valores al salir de la(s) función(es). Busca en Google: site:mql5.com scope variable

y lee: https://www.mql5.com/en/docs/basis/variables/variable_scope

Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
  • www.mql5.com
Visibility Scope and Lifetime of Variables - Variables - Language Basics - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Deklaration- Definition

Hola,
Veo que utilizas los miembros On Init(),- OnDenit(),- OnTick() para la programación orientada a objetos.
¿Pero la declaración o inicialización de las variables, por ejemplo double heikenAshiOpen[]... no pertenece una vez al OnInit()- y por consiguiente la evaluación de las variables (definición), así como las variables objeto, fastEMA y slowEMA en el ticker?

Pienso lo mismo que Carlo. Los arrays en

OnInit()

sólo se cargan cuando se carga el EA y cuando cambia el timeframe.

Porque el valor cambia con cada tick.

Y con el indicador

OnCalculate

calcula.

 
Gran artículo. Gracias