Discussione sull’articolo "Come creare un indicatore personalizzato (Heiken Ashi) utilizzando MQL5"

 

Il nuovo articolo Come creare un indicatore personalizzato (Heiken Ashi) utilizzando MQL5 è stato pubblicato:

In questo articolo impareremo a creare un indicatore personalizzato con MQL5 in base alle nostre preferenze, da utilizzare in MetaTrader 5 per aiutarci a leggere i grafici o per utilizzarli negli Expert Advisor automatici.

I grafici Heiken Ashi sono simili ai normali grafici tecnici a candele, ma il calcolo per tracciare queste candele è differente. Vale a dire, esistono due metodi che si differenziano tra loro. Come sappiamo, il normale grafico a candele calcola i prezzi in base ai prezzi effettivi di apertura, massimo, minimo e chiusura in un periodo specifico, ma l'Heiken Ashi prende in considerazione i prezzi simili precedenti (apertura, massimo, minimo e chiusura) quando calcola le sue candele.

Ecco come vengono calcolati i valori rilevanti per l'Heiken Ashi:

  • Apertura = (apertura della candela precedente + chiusura della candela precedente) / 2
  • Chiusura = (apertura + chiusura + massimo + minimo della candela corrente) / 4
  • Massimo = il valore più alto tra il massimo, l'apertura o la chiusura del periodo corrente.
  • Minimo = il valore più basso tra il minimo, l'apertura o la chiusura del periodo corrente.

In base al calcolo, l'indicatore costruisce candele rialziste e ribassiste e i colori di queste candele indicano la relativa direzione del mercato: se è rialzista o ribassista. Di seguito è riportato un esempio che mostra le candele Giapponesi tradizionali e l'Heiken Ashi, in modo da vedere la differenza dal punto di vista visivo.

 ha indicator

Autore: Mohamed Abdelmaaboud

 

Dichiarazione - Definizione

Salve,
Vedo che si utilizzano i membri OnInit(),- OnDenit(),- OnTick() per la programmazione orientata agli oggetti.
Ma la dichiarazione o l'inizializzazione delle variabili, ad esempio double heikenAshiOpen[]... non appartiene una volta alla OnInit()- e di conseguenza la valutazione delle variabili (definizione), così come le variabili oggetto, fastEMA e slowEMA nel ticker?

 

In linea di principio sì, ma non in questo caso, perché le variabili perderebbero di nuovo il loro valore quando la funzione o le funzioni escono. Cercare su Google: site:mql5.com scope variable

e leggere: 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

Ciao,
Vedo che usi i membri OnInit(),- OnDenit(),- OnTick() per la programmazione orientata agli oggetti.
Ma la dichiarazione o l'inizializzazione delle variabili, ad esempio double heikenAshiOpen[]... non appartiene una volta alla OnInit()- e di conseguenza la valutazione delle variabili (definizione), così come le variabili oggetto, fastEMA e slowEMA nel ticker?

La penso come Carlo. Gli array in

OnInit()

vengono caricati solo quando l'EA viene caricato e quando il timeframe cambia.

Perché il valore cambia ad ogni tick.

E con l'indicatore, il

OnCalculate

calcola.

 
Ottimo articolo. Grazie