MetaTrader 5 / Librerie

IncVidyaOnArray - libreria per MetaTrader 5

27
(29)

La classe CVidyaOnArray è progettata per calcolare i valori dell'indicatore Variable Index Dynamic Average (VIDYA ) utilizzando il buffer dell'indicatore.

Applicazione:

Nella funzione OnInit() dell'indicatore, viene richiamato il metodo Init() con i parametri:

  • int aCMOPeriod - periodo dell'oscillatore CMO;
  • int aMAPeriod - periodo dell'indicatore.

Nella funzione OnCalculate() dell'indicatore, viene richiamato il metodo Solve() con i seguenti parametri:

  • const int aRatesTotal - variabile rates_total dai parametri della funzione OnCalculate();
  • const int aPrevCalc - variabile prev_calcata dai parametri della funzione OnCalculate();
  • double & aData[] - buffer con i dati per il calcolo dell'indicatore;
  • double & aVIDYA[] - valore calcolato dell'indicatore.

Metodi aggiuntivi:

  • int BarsRequired() - restituisce il numero minimo di barre per il calcolo dell'indicatore;
  • string Name() - restituisce la stringa con il nome dell'indicatore;

Il file Test_VidyaOnArray.mq5 è un indicatore con un esempio di utilizzo della classe CVidyaOnArray. Il file IncVidyaOnArray deve essere collocato nella cartella MQL5\Include\IncOnArray della cartella dei dati del terminale (la cartella IncOnArray deve essere creata).

L'indicatore tecnico Variable Index Dynamic Average (VIDYA) è stato sviluppato da Tushar Chande e rappresenta un metodo originale di calcolo della media mobile esponenziale (EMA) con un periodo di mediazione che cambia dinamicamente. Il periodo di mediazione dipende dalla volatilità del mercato e il Chande Momentum Oscillator (CMO) è stato scelto come misura della volatilità. Questo oscillatore misura il rapporto tra la somma degli incrementi positivi e la somma degli incrementi negativi in un determinato periodo (periodo CMO). Il valore del CMO viene utilizzato come coefficiente del fattore di smoothing EMA. Pertanto, l'indicatore VIDYA ha due parametri di impostazione: il periodo dell'oscillatore CMO e il periodo di lisciatura della media mobile esponenziale (periodo EMA).

Esempio di utilizzo della classe CVidyaOnArray

Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/636