// Definizione delle macro di sequenziamento del ciclo OnCalculate #ifdef __MQL4__ // per MQL4 (come serie) #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 // per MQL5 (come non-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
Perché non usi ArraySetAsSeries()? In questo modo sarebbe possibile utilizzare le stesse macro per entrambe le versioni del linguaggio.
Non sto criticando, sono solo curioso.
Immagino che per te sia semplicemente più comodo così.
Ho scelto di utilizzare le macro in modo che la decisione avvenga in fase di compilazione, anziché con ArraySetAsSeries(), che opera in fase di esecuzione, per ottenere una maggiore efficienza.
In questo caso, dato che si tratta di un indicatore molto semplice, non fa davvero molta differenza, ma per indicatori molto più complessi può farne.
Ho scelto di utilizzare le macro in modo che la decisione venga presa in fase di compilazione anziché tramite ArraySetAsSeries(), che opera in fase di esecuzione, per ottenere una maggiore efficienza.
In questo caso, trattandosi di un indicatore molto semplice, la differenza è praticamente irrilevante, ma per indicatori molto più complessi può fare la differenza.
Grazie!
Prego!
Stavo cercando di capire come vengono effettuati i calcoli per l’Heiken-Ashi e, per quanto riguarda i massimi, spiegano che si tratta del “valore massimo tra il massimo, l’apertura o la chiusura del periodo corrente”, mentre “per i minimi” si tratta del “valore minimo tra il minimo, l’apertura o la chiusura del periodo corrente”. Non equivale forse a dire che i massimi e i minimi coincidono con le barre? Se è così, la tua idea di visualizzarli come linee è semplice e geniale: si può cogliere a prima vista il trend dell’Heiken-Ashi senza rinunciare alle normali candele.
Traduzione automatica applicata dal moderatore. Sul forum in inglese, si prega di scrivere in inglese.
Nella maggior parte dei casi sì, ma quando l'apertura Heikin Ashi (media mobile) si trova al di fuori del massimo/minimo della candela normale, allora quella diventa il massimo/minimo Heikin Ashi.
Mi scuso, ma non ho capito bene il significato del tuo post. Potresti spiegarti meglio?
Trovo che il tuo codice sia davvero ottimo e potente. Non ho scaricato il file mq5.
Con il codice per MT4 che hai condiviso, mi è bastato copiarlo e incollarlo in MetaEditor MQL5 e salvarlo come mq5, e tutto funziona alla perfezione.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Heikin Ashi Lines:
Un modo più semplice per visualizzare l'Heikin Ashi
Author: FMIC