Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Facebook!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Ansichten:
1948
Rating:
(53)
Veröffentlicht:
2016.04.21 15:48
Aktualisiert:
2016.11.22 07:34
\MQL5\Include\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Die MovingAverages Library ist Teil des Standardpakets von MetaTrader 5 Client Terminal.

Die Library enthält Funktionen für die Berechnung verschiedener Typen von Moving Averages. Insgesamt existieren 8 Funktionen. Diese können in zwei Gruppen mit 4 Funktionen eingeteilt werden welche logisch zusammengehören.

Die erste Gruppe enthält Funktionen die ein Array entgegennehmen und einfach den Wert eines Gleitenden Durchschnitts an einer angegebenen Position zurückgeben:

  • SimpleMA() - zur Berechnung des Wertes eines Einfachen Durchschnitts simple average
  • ExponentialMA() - zur Berechnung des Wertes eines Exponentiellen Durchschnitts exponential average
  • SmoothedMA() - zur Berechnung des Wertes eines Geglätteten Durchschnitts smoothed average;
  • LinearWeightedMA() - zur Berechnung des Wertes eines Linear Gewichteten Durchschnitts linear-weighted average.

Diese Funktionen sind dazu gedacht den Wert eines Durchschnitts einmalig für ein Array zu ermitteln und nicht für mehrfache Aufrufe optimiert. Falls Sie eine Funktion dieser Gruppe in einer Schleife verwenden müssen (um Werte eines Durchschnitts zu berechnen und diese fortlaufend in ein Array zu speichern) müssen Sie einen optimalen Algorithmus implementieren.

Die zweite Gruppe von Funktionen wird dazu verwendet um das übergebene Array mit Werten eines Gleitenden Durchschnitts zu füllen, basierend auf dem Array mit Initialwerten:

  • SimpleMAOnBuffer() - füllt das Ausgabe-Array buffer[] mit den Werten eines Einfachen Durchschnitts aus dem Array price[]
  • ExponentialMAOnBuffer() - füllt das Ausgabe-Array buffer[] mit den Werten eines Exponentiellen Durchschnitts aus dem Array price[]
  • SmoothedMAOnBuffer() - füllt das Ausgabe-Array buffer[] mit den Werten eines Geglätteten Durchschnitts aus dem Array price[]
  • LinearWeightedMAOnBuffer() - füllt das Ausgabe-Array buffer[] mit den Werten eines Linear Gewichteten Durchschnitts aus dem Array price[].

Funktionen:

//+------------------------------------------------------------------+
//|                                               MovingAverages.mqh |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
//+------------------------------------------------------------------+
//| Simple Moving Average                                            |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
//+------------------------------------------------------------------+
//| Exponential Moving Average                                       |
//+------------------------------------------------------------------+
double ExponentialMA(const int position,const int period,const double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Smoothed Moving Average                                          |
//+------------------------------------------------------------------+
double SmoothedMA(const int position,const int period,const double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Linear Weighted Moving Average                                   |
//+------------------------------------------------------------------+
double LinearWeightedMA(const int position,const int period,const double &price[])

//+------------------------------------------------------------------+
//| Simple moving average on price array                             |
//+------------------------------------------------------------------+
int SimpleMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
//+------------------------------------------------------------------+
//| Exponential moving average on price array                        |
//+------------------------------------------------------------------+
int ExponentialMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                          const int period,const double& price[],double& buffer[])
//+------------------------------------------------------------------+
//| Smoothed moving average on price array                           |
//+------------------------------------------------------------------+
int SmoothedMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                       const int period,const double& price[],double& buffer[])
//+------------------------------------------------------------------+
//| Linear Weighted moving average on price array                    |
//+------------------------------------------------------------------+
int LinearWeightedMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                             const int period,const double& price[],double& buffer[])

Beispiel:

Für Beispiele zur Verwendung siehe Artikel "MQL5: Create Your Own Indicator"

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

Triple Exponential Average (TRIX) Triple Exponential Average (TRIX)

Ist ein Oszillator der überkauften/überverkauften Zustände des Marktes. Er kann auch als Momentum-Indikator verwendet werden. Um die zyklischen Komponenten einer Kursbewegung mit einer Periode kleiner als der des TRIX zu eliminieren wird eine dreifache Glättung verwendet.

Variable Index Dynamic Average (VIDYA) Variable Index Dynamic Average (VIDYA)

Dieser Oszillator misst das Verhältnis aus der Summe der positiven Zuwächse und der Summe der negativen Zuwächse über eine bestimmte Periode.

LoongClock LoongClock

Ein sehr einfaches Beispiel einer Uhr

ErrorDescription ErrorDescription

Die Library enthält Funktionen die Beschreibungen der Codes von Laufzeitfehlern und die der Handelsserver zurückgibt.