IncVidyaOnArray - Bibliothek für den MetaTrader 5
Die CVidyaOnArray Klasse wird zur Berechnung des VIDYA (Variable Index Dynamic Average) aus Daten des Indikator-Puffers verwendet.
Verwendung:
Init() die Methode wird mit den folgenden Parametern in der Funktion des Indikators OnInit() aufgerufen:
- int aCMOPeriod ist die Periodenlänge des CMO Oszillators;
- int aMAPeriod ist die Periodenlänge des Indikators.
Solve() die Methode wird mit den folgenden Parametern in der Funktion OnCalculate() des Indikators aufgerufen:
- const int aRatesTotal die Variable rates_total aus der Funktion OnCalculate();
- const int aPrevCalc - die Variable prev_calculated aus der Funktion OnCalculate();
- double & aData[] Puffer mit den Daten für die Berechnung des Indikators;
- double & aVIDYA[] Puffer mit den Werten des Indikators.
Zusätzliche Methoden:
- int BarsRequired() liefert die notwendige Mindestanzahl von Bars für die Berechnung;
- string Name() liefert den Namen des Indikators als Zeichenkette;
Test_VidyaOnArray.mq5 ist ein Beispielindikator, der die Klasse CVidyaOnArray anwendet. Die Datei IncVidyaOnArray muss sich im Verzeichnis MQL5\Include\IncOnArray des Terminals befinden (Der Ordner IncOnArray muss ggf. erstellt werden).
Der technische Indikator Variable Index Dynamic Average (VIDYA) wurde von Tushar Chande entwickelt. Es ist die Originalmethode der Berechnung des Exponential Moving Average (EMA) mit einem sich dynamisch verändernden Zeitraum der Mittelung. Zeitraum der Mittelung hängt von der Volatilität des Marktes; als Maß für die Volatilität wurde der Chande Momentum Oszillator (CMO) gewählt. Dieser Oszillator misst das Verhältnis zwischen der Summe der positiven Schritten und die Summe der negativen Schritten über einen bestimmten Zeitraum (CMO-Zeit). Der CMO-Wert wird als Koeffizient des EMAs verwendet. Für VIDYA müssen also diese Parameter bestimmt werden: Periodenlänge des CMO und des EMA.

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/636