MetaTrader 5 herunterladen

MQL4 Sprache für Einsteiger. Technische Indikatoren und Eingebaute Funktionen

24 Februar 2016, 12:51
Antoniuk Oleg
0
1 169

Einführung

Dies ist der dritte Artikel aus der Serie "MQL4 Sprache für Einsteiger". In den ersten zwei Artikeln haben wir die Grundlagen von MQL4 gelernt, die Basis für eine weitere Entwicklung. Jetzt werden wir erfahren, wie wir eingebaute Funktionen und Funktionen zur Arbeit mit technischen Indikatoren verwenden. Letztere werden bei der zukünftigen Entwicklung Ihrer eigenen Expert Advisors in Indikatoren von wesentlicher Bedeutung sein. Darüber hinaus werden wir an einem einfachen Beispiel sehen, wie wir Handelssignale für den Einstieg in den Markt verfolgen können, um zu verstehen, wie Indikatoren richtig angewendet werden. Und am Ende des Artikels werden Sie etwas Neues und Interessantes über die Sprache selbst erfahren.


Mathematische Funktionen

Fangen wir an mit den einfachsten, aber noch immer verwendeten und nützlichen mathematischen Funktionen.


MathAbs

Function Prototyp:

double MathAbs(double value)

Es ist eine sehr einfache Funktion, die den absoluten Wert (Zahl Modul) zurückgibt. Das bedeutet, wenn Sie die Funktion, zum Beispiel, für eine negative Zahl verwenden, erhalten Sie als Ergebnis eine positive Zahl.

Anwendungsbeispiel:

int a=-10;
double b=-20.0;
double c=7.0;
 
a=MathAbs(a); // now a is equal to 10
b=MathAbs(b); // now b is equal to 20.0
c=MathAbs(c); // the value of c will not change, for it was positive

MathCeil, MathFloor and MathRound

Functions-Prototypen:

double MathCeil(double x)
double MathFloor(double x)
double MathRound(double value)

Diese drei Funktionen sind sehr ähnlich: sie alle runden eine Zahl zu einer ganzen Zahl. (zum Beispiel 1.001), sie wird als ganze Zahl betrachtet. Aber jede von ihnen hat ihre eigenen Besonderheiten:

MathCeil rundet auf eine Weise, dass selbst wenn wir ein Tausendstel einer Zahl (z.B. 1,001) haben, wird diese als ganze Zahl betrachtet. Das heißt, eine Zahl wird zu einem höheren Wert aufgerundet. Zum Beispiel:

double a;
a=MathCeil(1.001);  // a=2.0, even one thousandth is rounded off to a whole number
a=MathCeil(1.999);  // a=2.0
a=MathCeil(-1.001); // a=-1.0, it is correct, because -1.0 is more than -1.001
a=MathCeil(-1.999); // a=-1.0, it is correct, -1.0 is more than -1.999

MathFloor macht das gleiche wie MathCeil, aber genau gegenteilig. Das heißt, wenn wir eine positive Zahl abrunden müssen, wird sie einfach einen Bruchteil verlieren:

double a;
a=MathFloor(1.999); // a=1.0, no matter how large the fractional part is, it will be taken away
a=MathFloor(1.001); // a=1.0
a=MathFloor(-1.001); // a=-2.0, correct, because -2.0 is less than -1.001
a=MathFloor(-1.999); // a=-2.0, correct, -2.0 is less than -1.999

MathRound rundet Zahlen auf eine uns vertraute Weise. Das bedeutet, wenn ein Bruchteil groß ist (0,5 oder mehr), wird er aufgerundet auf 1. Wenn der Bruchteil klein ist, (weniger als 0,5), wird er abgerundet zu 0, d.h. er wird einfach weggelassen. Beispiele:

double a;
a=MathRound(1.1);   // a=1.0, the fractional part is too small (0.1)
a=MathRound(1.57);  // a=2.0, the fractional part is enough to be rounded off to 1
a=MathRound(-3.1);  // a=-3.0 not enough
a=MathRound(-6.99); // a=-7.0 enough


MathMax

MathMin

Funktions-Prototypen:

double MathMax(double value1, double value2)
double MathMin(double value1, double value2)

Diese zwei Funktionen sind sehr ähnlich. Sie akzeptieren 2 Argumente und geben das größte und das kleinste zurück. Beispiele:

double a;
a=MathMax(50.0,1.0);  // a=50.0
a=MathMin(10.0,12.0); // a=10.0


MathPow

Funktion Prototyp:

double MathPow(double base, double exponent)

Diese Funktion ermöglicht das Erhöhen einer Zahlenbasis zu dem Power Exponent. Beispiele:

double a;
a=MathPow(5.0,2.0);  // a=25.0, 5 to the power 2
a=MathPow(2.0,8.0);  // a=256.0, 2 to the power 8
a=MathPow(25.0,0.5); // a=5.0, you know, a number to the power 0.5 is its square root

MathSqrt

Funktion Prototyp:

double MathSqrt(double x)


Ziehen Sie die Quadratwurzel mit dieser Funktion. Versuchen Sie aber nicht die Wurzel aus einer negativen Zahl zu ziehen. In diesem Fall wird Null zurückgegeben. Beispiele:

double a;
a=MathSqrt(9.0);    // a=3.0
a=MathSqrt(25.0);   // a=5.0
a=MathSqrt(-256.0); // a=0.0, I explained

MathLog

Funktion Prototyp:

double MathLog(double x)

Erinnert sich jemand, was ein Logarithmus ist? Logarithmus von a zu der Basis b ist gleich der Potenz, zu der Sie b erhöhen müssen, um a zu erhalten. Weit verbreitet sind Logarithmen zur Basis e (Eulersche Zahl) - natürliche Logarithmen (lna) und zu der Basis 10 - gemeinsamer (Brigg's) Logarithmus (lg a). Mehr Informationen über Logarithmen finden sich unter:
https://de.wikipedia.org/wiki/Logarithmus

Also, die Funktion MathLog ist gedacht für die Aufnahme des natürlichen Logarithmus der Zahl x. Versuchen Sie nicht den natürlichen Logarithmus einer negativen Zahl oder Null aufzunehmen. in diesem Fall erhalten Sie -1. Beispiele zur Verwendung dieser Funktion:

double a;
a=MathLog(10.0);  // a=2.30258509
a=MathLog(0.0);   // a=-1.0, incorrect
a=MathLog(-10.0); // a=-1.0, incorrect

MathExp

Funktion Prototyp:

double MathExp(double d)

Diese Funktion gibt die Zahl e zurück, angehoben zu der Potent d. Viele von Ihnen werden diese Zahl vergessen anheben.

e ist eine mathematische Konstante, Grundlage natürlicher Logarithmen, irrationale und transzendente Zahl. e = 2,718281828459045… Manchmal wird e Eulersche Zahl oder Napierian Zahl genannt. Sie spielt eine wichtige Rolle in der Differenzial- und Integralrechnung. Mehr Informationen über die Eulersche Zahl befinden sich unter:

https://de.wikipedia.org/wiki/Eulersche_Zahl

Wenn Sie einen sehr großen Grad angeben, wird ein Überlauf (Overflow) stattfinden, Null wird zurückgegeben. Wie groß muss der Grad sein für einen Fehler? Finden wir es heraus, lassen Sie uns ein kleines Experiment durchführen:

double exponent=1.0; // here the degree value will be stored
double result=1.0;   // result, returned by the function
int i=0;             // number of cycle iterations
 
while(result!=0.0)   // while the result is not equal to zero (while there is no overflowing)
{
   result=MathExp(exponent); // remember the result
   exponent*=10.0;           // increase the degree
   i++;                      // the next iteration is over
}
MessageBox("i="+i); // result of the experiment

Das folgende passiert: Jedes Mal, wenn wir versuchen die Funktion MathExp aufzurufen, wird mit jeder Wiederholung der Grad 10 Mal erhöht, bis wir schließlich den Overflow erhalten und Null zurückgegeben wird. Ich erhielt das folgende Ergebnis: i=310. Es bedeutet, sie als Gradzahl 1*10 verwenden zur Potenz 309 (stellen Sie sich einfach eine Zahl mit einer Länge von 309 Ziffern vor!!). Also, denke ich, Sie müssen keine Angst vor einem Overflow haben.


MathMod

Funktion Prototyp:

double MathMod(double value,double value2)

Diese Funktion ermöglicht den Rest einer Division zu ermitteln. Zum Beispiel, bei 5 geteilt durch 2 erhalten wir 2 und Rest 1. Das erste Argument Wert - Dividend, Wert2 - Divisor. Der Rest wird zurückgegeben. Beispiele:

double a;
 
a=MathExp(5,2); // a=1.0
a=MathExp(10,3); // a=1.0, correct
a=MathExp(50,10); // a=0.0, divided without residue


MathRand und MathSrand

Funktions Prototypen:

int MathRand()
void MathSrand(int seed)

MathRand gibt eine Pseudozufallszahl nach der anderen zurück, im Bereich von 0 bis 32767. Hier haben Sie vielleicht ein paar Fragen. Was bedeutet "Pseudo"? Was für ein merkwürdiger Bereich, und was, wenn ich sie von 0 bis 10 brauche? Warum genau 32767? Hier sind die Antworten:

"Pseudo" bedeutet, dass die Zahlen nicht komplett zufällig sind, sondern vor etwas abhängen. Nehmen wir an, Sie haben ein Skript geschrieben, das 5 Pseudozufallszahlen zurückgibt. Zu Beispiel:

int a=0;
 
while(a<5)
{
   MessageBox(“random=”+MathRand());
   a++;
}

Nun, die Zahlen sind wirklich zufällig, aber wenn Sie das Skript wieder starten, wird die Reihe immer dieselbe sein. Das ist so, weil es eine Zahl gibt, von der die Funktion MathRand zurückweist, nennen wir sie die Anfangszahl. Um diese zu ändern, verwenden Sie eine andere Funktion - MathSrand. Diese Funktion übernimmt ein einzelnes Argument - die Anfangszahl, von der die Pseudozufallszahlen abhängen. Stellen Sie sich vor, die Anfangszahl ist eine Frucht, aus der ein Baum (Zufallszahlen) wächst. Standard ist die Anfangszahl 1. Also, um eine wirklich zufällige Zahl zu erhalten, müssen wir der Anfangszahl einen eindeutigen Wert zuweisen. Wie können wir das machen? Es gibt eine weitere Funktion - TimeLocal, die keine Argumente besitzt und die Anzahl der vergangenen Sekunden nach 00:00 des 1. Januar 1970 zurückgibt. Diese Funktion passt ideal, weil wir in den meisten Fällen eine eindeutige Zahl erhalten. Sind Sie noch nicht verwirrt? Es sieht so aus:

int a=0;
MathSrand(TimeLocal()); // assign a unique value to the beginning number
 
while(a<5)
{
   MessageBox(“random=”+MathRand());
   a++;
}

Jetzt erhalten wir jedes Mal eine neue Reihe. Gehen wir weiter.
Von 0 bis 32767. Warum 32767? Schauen Sie: Der maximale Wert, den int übernehmen kann, ist 2 potenziert mit 16 (weil der Wert der int Variable 16 Bit im Computerspeicher belegt, ohne Berücksichtigung des Vorzeichens), der gleich 32768 ist, aber weil wir von Null zählen, müssen wir 1 abziehen. So erhalten wir 32767.

Um jeden benötigten Bereich zu erhalten, verwenden Sie den Operator % - Rest in Division. Zum Beispiel, wenn wir Zufallszahlen im Bereich von 0 bis 5 erhalten müssen:

int a=0;
MathSrand(TimeLocal());
while(a<5)
{
   MessageBox(“random=”+MathRand()%6);
   a++;
}

Bitte beachten Sie, dass wir MathRand()%6 geschrieben haben, nicht MathRand()%5 - da unser Bereich bei Null anfängt, müssen wir 1 hinzufügen. Nehmen wir nun an, wir benötigen Zahlen im Bereich von 5 bis 10:

MessageBox(“random=”+MathRand()%6+5); // just add the necessary shift

Das gleiche gilt, wenn wir einen Bereich mit negativen Zahlen benötigen, zum Beispiel von -5 bis 5:

MessageBox(“random=”+MathRand()%11-5);

Wenn Sie nur negative Zahlen benötigen, multiplizieren Sie das Ergebnis mit -1. Wenn wir zum Beispiel den Bereich von -10 bis -20 benötigen:

MessageBox(“random=”+(MathRand()%11+10)*(-1));

Wenn Sie keine Ganzzahl (non-integral), zum Beispiel den Bereich von 0.0 bis 1.0 auf das Tausendstel genau, verwenden Sie den folgenden Code:

MessageBox(“random=”+MathRand()%1001/1000.0);

Zuerst erstellen wir eine Zufallszahl im Bereich von 0 bis 1000 und teilen diese durch 1000.0. Beachten Sie, dass wir genau durch 1000.0 (mit Fließkomma) teilen müssen, nicht durch 1000 (integer/Ganzzahl). Ansonsten erhalten wir Null, weil gerundet wird.


Trigonometrische und Arkus-Trigonometrische Funktionen

Trigonometrische Funktionen sind mathematische Funktionen aus einem Winkel. Sie sind wichtig bei der Analyse von periodischen Prozessen. Sehr ähnlich sind Arkus-trigonometrische Funktionen. Weitere Informationen finden Sie hier:

https://de.wikipedia.org/wiki/Trigonometrische_Funktion

https://de.wikipedia.org/wiki/Arkussinus_und_Arkuskosinus

In MQL4 übernehmen alle diese Funktionen Argumente in Radiant (rad = Bogenmaß-Einheit), nicht in Grad. Das heiß, wenn Sie den Sinus von 20 Grad ermitteln wollen, müssen sie zuerst 20 Grad in Radiant umrechnen. Zum Beispiel:

MathSin(20.0*3.14159/180.0);

D.h. 1 Grade = pi/ 180. Es ist zweckmäßig die Konstante am Anfang eines Programms zu deklarieren und zu verwenden, wenn Sie häufig trigonometrische Funktionen verwenden:

#define PI 3.1415926535897


MathSin, MathCos, MathTan, MathArcsin, MathArccos und MathArctan

Funktions-Prototypen:

double MathSin(double value)
double MathCos(double value)
double MathTan(double x)
double MathArcsin(double x)
double MathArccos(double x)
double MathArctan(double x)

Lassen Sie uns bei den Besonderheiten einiger Funktionen verweilen. MathTan übernimmt Werte im Bereich von -263 bis 263, wenn Sie die Begrenzung überschreiten, wird die Zahl unbestimmt sein. MathArcsin und MathArccos übernehmen Werte im Bereich von -1 bis 1, andernfalls erhalten Sie Null und die entsprechende Nachricht im EA Journal. MathArctan gibt 0 zurück, wenn sie 0 annimmt.


Neue Funktionen zum Anzeigen von Nachrichten

Bisher kennen Sie nur eine Funktion zum Anzeigen von Informationen - MessageBox. Nun werden Sie drei weitere Funktionen kennenlernen die sehr ähnlich sind, aber ihre eigenen Besonderheiten haben.


Alarm

Function Prototyp:

void Alert(...)

Zeigt ein Dialogfenster mit Ihren Signalen (Informationen). Beim Aufruf der Funktion hören Sie ein bestimmtes akustisches Signal, das in den Terminal-Einstellungen geändert oder abgestellt werden kann: Service -> Settings -> tab Events. Das Fenster sieht wie das folgende aus:

Sie können die Größe des Fensters ändern, zur einfachen Anzeige größerer Informationsmengen. Darüber hinaus können Sie immer die letzten Aufrufe anzeigen, da diese nicht gelöscht werden. Sie können auch mehrere Aufrufe nacheinander ausführen, sie erhalten ein Fenster mit dem letzten Signal und müssen nicht jedes Mal "OK" klicken. Sie können die Funktion ähnlich wie MessageBox verwenden:

Alert(“signal type:”+signalType);
Alert(“random=”+MathRand()%1001);

Obwohl die Absicht eine andere war, können sie einfach die Parameter durch Komma getrennt aufzählen. Das heißt, wie im obigen Beispiel, aber mit "," statt mit "+". Ich empfehle die Verwendung der zweiten Variante:

Alert(“signal type:”,signalType);
Alert(“random=”,MathRand()%1001);


Comment

Funktion Prototyp:

void Comment(...)

Ähnliche Funktion, identische Verwendung, anzeigen einer Nachricht in der oberen linken Ecke in einem Chart. Hier müssen Sie nichts anklicken, damit der Code ausgeführt wird. Verwenden Sie diese Funktion, zum Beispiel, um den aktuellen Status anzuzeigen. Beispiel:

Comment(“some usefull information”);




Print

Funktion Prototyp:

void Print( ...)

Eine weitere ähnliche Funktion, zur Anzeige von Nachrichten im Journal des Expert Advisors:

Print(“processing...”);



Darüber hinaus speichert das Journal alle Nachrichten in einer entsprechenden Datei (der Dateiname entspricht dem Datum) auf Ihrem Computer, in dem Ordner MetaTrader 4\experts\logs:



Einige Anmerkungen müssen zu den drei Funktionen gemacht werden. Sie können keine Arrays anzeigen, geben Sie diese einfach wie einen Parameter an. Sie sollten Element-für-Element angezeigt werden, so wie folgt::

for(int a=0;a<100;a++)
Alert("Close[",a,"]=",Close[a]);

Sie können maximal 64 Parameter in jeder Funktion anzeigen. Jeder Aufruf der Funktion Alarm wird außerdem in das Expert Advisor Journal geschrieben. Der Typ double wird bis zu vier Ziffern nach einem Punkt genau dargestellt.


Technische Indikatoren

Fast alle Expert Advisors verwenden technische Indikatoren. Wenn Sie bei einem einfachen EA in die enthaltene Installationsdatei (MACD Sample) schauen, werden sie feststellen, dass er technische Indikatoren verwendet. Wir werden jetzt lernen, wie wir die Werte aller verfügbaren technischen Indikatoren erhalten. Es gibt eine entsprechende Funktion zu jedem technischen Indikator, die den Wert auf jedes verfügbare Finanzinstrument und Zeitrahmen zählt. Und Sie werden nicht gestört, ob dieser Indikator auf einem Chart nun offen ist oder nicht. Es spielt keine Rolle.

Betrachten wir nun die Parameter von Funktionen der technischen Indikatoren im Detail. Tatsächlich wiederholen sich die meisten von ihnen.
Zum Beispiel, alle Funktionen, bei denen wir verweilen, haben ähnliche 2 erste Argumente und 1 letztes zum Zählen der Werte von technischen Indikatoren:

  • symbol – das erste Argument legt fest, welches Finanzinstrument (Währungspaar) zum Zählen der Werte des technischen Indikators verwendet werden soll. Das heißt, in welchen Chart der technische verwendet werden soll. Um einen Indikator auf dem aktuellen Chart zu nutzen, verwenden Sie die Konstante NULL oder 0. Das aktuelle Chart bedeutet hier das Chart, auf dem Sie Ihr Skript (Expert Advisor, Indikator) starten werden. Wenn Sie ein weiteres Finanzinstrument benötigen, können Sie seinen Namen als String verwenden ("EURUSD","GBPUSD" usw.).
  • timeframe – das zweite Argument, das den Zeitrahmen festlegt, den der Indikator verwenden soll. Wenn Sie einen Zeitrahmen benötigen, der auf dem aktuellen Chart verwendet wird, verwenden Sie 0 (Null). Wenn Sie einen anderen Zeitrahmen benötigen, verwenden Sie eine dieser vordefinierten Konstanten:
    • PERIOD_M1 - 1 Minute
    • PERIOD_M5 - 5 Minuten
    • PERIOD_M15 - 15 Minuten
    • PERIOD_M30 - 30 Minuten
    • PERIOD_H1 - 1 Stunde
    • PERIOD_H4 - 4 Stunden
    • PERIOD_D1 - 1 Tag
    • PERIOD_W1 - 1 Woche
    • PERIOD_MN1 - 1 Monat
  • shift – das letzte Argument bestimmt, welchen Balken der Indikator verwenden soll. Erinnern Sie sich an den ersten Artikel: Um den Schlusskurs auf dem letzten Balken zu ermitteln, haben wir Indizes verwendet, beginnend bei Null. Das heißt, Close [0] - Schlusskurs des letzten Balken, Close [1] . der vorletzte, usw. Nun, dieses Argument funktioniert auf die gleiche Weise wie ein Index in Arrays. Um den Wert des Indikators auf dem letzten Balken zu ermitteln, muss shift gleich 0 sein, auf dem vorletzten - 1, und so weiter.

Technische Indikatoren werden häufig zum Zählen von Mittelwerten auf mehreren Balken verwendet. Das heißt, sie übernehmen verschiedene Kurse (Eröffnung, Schluss, usw.) auf mehreren Balken und ermitteln den Mittelwert mit einer definierten Methode. Sehr häufig wird auch Verschiebung verwendet. So können Sie zusammen mit den Parametern das Folgende ermitteln:

  • applied_price – definiert welche Art von Kursen verwendet werden soll, um den Mittelwert zu erhalten. Es gibt die folgenden vordefinierten Konstanten zur Auswahl der verwendeten Kurse:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • ma_method – definiert eine Methode für den Erhalt von Mittelwerten. Es gibt die folgenden vordefinierten Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Smoothed Moving Average
    • MODE_LWMA - Linearly Weighted Moving Average
  • period – bestimmt wie viele Balken für die Ermittlung des Mittelwerts verwendet werden.
  • ma_shift – Verschiebung der Mittellinie in Balken. Ist die Verschiebung positiv, verschiebt sich die Linie nach rechts. Ist die Verschiebung negativ, wird die Linie nach lins verschoben.

Die oben beschriebenen Parameter kommen sehr häufig vor. Also, wenn Sie solche Parameter sehen, sollten Sie verstehen, dass diese Funktion Mittelwerte für die Berechnung ihrer Werte verwendet. Um zu erfahren, wie genau die Werte berechnet werden, und welche Rolle die Mittelwerte dabei einnehmen, verwenden Sie den Link hinter einer kurzen Beschreibung von jeder Funktion.

Ein weiterer wichtiger Aspekt: Alle diese Indikatoren (Funktionen) können in zwei Kategorien unterteilt werden:

  • Einfach – wenn ein Indikator nur einen Wert hat. Zum Beispiel: Acceleration/Deceleration (AC), Accumulation/Distribution (A/D), DeMarker (DeM) usw. Das heißt, der Indikator hat nue eine Linie/Histogramm, der zurückgegebene Wert beim Aufruf der entsprechenden Funktion. Hier ist ein Beispiel verschiedener einfacher Indikatoren, die auf einem Chart verwendet werden:


  • Komplex – wenn ein Indikator mehrere Werte (Linien) hat. Zum Beispiel: Alligator, Average Directional Movement Index (ADX), Bollinger Bands (BB), Average Convergence/Divergence (MACD) usw. In einem solchen Fall müssen Sie angeben, welchen Wert der Indikator zurückgeben soll. Zu diesem Zweck wird in allen Funktionen komplexer Indikatoren der Parameter mode verwendet. Mit der Verwendung bestimmter Konstanten geben Sie an, was zurückgegeben werden soll. Hier ist ein Beispiel verschiedener komplexer Indikatoren, die auf einem Chart verwendet werden:



Jede Beschreibung einer Funktion wird unterstützt durch ein beschreibendes Bild, Anwendungsbeispiele (verschiedene Farben werden verwendet, für eine bessere Visualisierung was wofür verantwortlich ist) und einem Link mit der Indikator-Beschreibung (wie er im Trading verwendet wird, die Bedeutung des Indikators). Sie sollten bekannt sein mit den Indikatoren und ihrer Anwendung in der Praxis. Ich empfehle die Beschreibungen der Funktionen in diesem Artikel zu lesen, um zu verstehen, wie Sie sie verwenden und zum Ansehen der Beispiele. Aber, zur Erinnerung an die Zuweisung von jedem Argument in der Zukunft, verwenden Sie die Hilfe im MetaEditor. Öffnen Sie das Fenster ToolBox mit der Tastenkombination Strg+T und gehen Sie zu der Registerkarte Help. Dort finden Sie die Beschreibung von jedem Parameter, sowie eine komfortable Liste aller Funktionen, so dass Sie einfach finden, was Sie benötigen. Die Sprache der Hilfe kann geändert werden über das Menü View->Languages. Anschließend müssen Sie den MetaEditor neustarten.


Acceleration/Deceleration (AC)

Der Indikator Acceleration/Deceleration (AC) wird zum Ändern der Geschwindigkeit von Kursänderungen verwendet (Acceleration - Beschleunigung, Deceleration - Verzögerung). https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/ao

Funktion Prototyp:

double iAC(string symbol, int timeframe, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Instrument (Chart) benötigen.
  • timeframe – Definiert auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0für die aktuelle Periode oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • shift – Bestimmt welchen Balken der Indikator verwendet.

Anwendungsbeispiele:


double ac;
 
ac=iAC(0,0,0);
// acceleration of the last bar on the active chart and timeframe 

ac=iAC(0,0,1);
// acceleration of the last but one bar on the active chart and timeframe 

ac=iAC("GBPUSD",PERIOD_M30,0);
// acceleration of the last bar on the chart GBPUSD, timeframe - 30 minutes

Accumulation/Distribution (A/D)

Der Indikator Accumulation/Distribution (A/D) wird zur Bestätigung von Kursänderungen über Volumen-Berechnung verwendet.
https://www.metatrader5.com/en/terminal/help/indicators/volume_indicators/ad

Funktion Prototyp:

double iAD(string symbol, int timeframe, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • shift – bestimmt den Balken, der verwendet werden soll.

Anwendungsbeispiele:



double ad;
 
ad=iAD(0,0,0);
// accumulation on the last bar on the current chart and period 

ad=iAD(0,0,Bars-1);
// accumulation on the first available bar, active chart and period 

ad=iAD("GBPUSD",PERIOD_M5,5);
// accumulation on the 6th last bar on GBPUSD, period - 5 minutes


Alligator

Der Indikator Alligator ist die Kombination aus 3 Moving Averages (gleitender Durchschnitt), mit Fraktal Geometrie und nichtlinearer Dynamik.
https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/alligator

Funktion Prototyp:

double iAlligator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, 
                   int teeth_shift, int lips_period, int lips_shift, int ma_method, int applied_price, 
                   int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • jaw_period - Die Periode der Mittelwertbildung des Alligator Kiefers (blaue Linie)
  • jaw_shift - Verschiebung des Alligator Kiefers
  • teeth_period - Die Periode der Mittelwertbildung der Alligator Zähne (rote Linie)
  • teeth_shift - Verschiebung der Alligator Zähne
  • lips_period - Die Periode der Mittelwertbildung der Alligator Lippen (grüne Linie)
  • lips_shift - Verschiebung der Alligator Lippen
  • ma_method – bestimmt die Methode für den Erhalt der Mittelwerte. Es gibt die folgenden vordefinierten Konstaten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Smoothed Moving Average
    • MODE_LWMA - Linear gewichteter Moving Average
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • mode – bestimmt den Wert, den Sie ermitteln möchten (Kiefer, Zähne oder Lippen). Zur Auswahl verwenden Sie eine der Konstanten:
    • MODE_GATORJAW - Linie des Alligator Kiefers (blau)
    • MODE_GATORTEETH - Linie der Alligator Zähne (rot)
    • MODE_GATORLIPS - Linie der Alligator Lippen (grün)
  • shift – bestimmt, welchen Balken der Indikator verwenden soll.

Schauen Sie hier, wofür die Argumente der Funktion verantwortlich sind, wenn Sie Alligator auf einem Chart verwenden. Look, what the function arguments are responsible for, when using Alligator on a chart. Eine solche Analogie wird Ihnen helfen:



Mit dem Parameter mode bestimmen Sie, was zurückgegeben werden soll:


Anwendungsbeispiele:

double jaw;
double teeth;
double lips;
 
jaw=iAlligator(0,0,13,8,8,5,5,3,MODE_SMA,PRICE_MEDIAN,MODE_GATORJAW,0);
// find the values of "jaws" (blue line) on the current chart and period.  
// Here simple moving average is used, price – average. Periods 
// of averaging for jaws, teeth and lips – 13, 8 and 8 accordingly. Shift: 
// 5, 5 and 3 accordingly. The value is taken for the last bar.
 
teeth=iAlligator(EURUSD,PERIOD_H1,128,96,64,0,0,0,MODE_EMA,PRICE_TYPICAL,MODE_GATORTEETH,1);
// find the values of "teeth" (red line) on an hour chart EURUSD. 
// Exponential moving average and typical price are used. 
// Periods of averaging: 128, 96 and 64. Shift is not used. The value
// is taken for the last but one bar.
 
lips=iAlligator(GBPUSD,PERIOD_D1,21,18,13,5,3,0,MODE_SMMA,PRICE_WEIGHTED,MODE_GATORLIPS,5);
// find the values of "lips" (green line) on a daily chart GBPUSD. 
// Uses smoothed moving average and weighted close price.
// Periods of averaging: 21, 18 and 13. Shift: 5, 3 and 0. The value 
// is taken for the 5th last bar.

Average Directional Movement Index (ADX)

Der Indikator Average Directional Movement Index (ADX) wird verwendet, um das Vorhandensein eines Kurstrends zu bestimmen.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/admi

Funktion Prototyp:

double iADX(string symbol,int timeframe,int period,int applied_price,int mode,int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period – die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • mode – wählt eine Linie, deren Werterhalten wird. Verwenden Sie die folgenden Konstanten:
    • MODE_MAIN - die Hauptlinie
    • MODE_PLUSDI - Linie +DI
    • MODE_MINUSDI - Linie –DI
  • shift – bestimmt, welchen Balken der Indikator verwendet.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:


Anwendungsbeispiele:

double main;    // main line
double plusDi;  // line +DI
double minusDi; // line -DI
 
main=iADX(0,0,3,PRICE_CLOSE,MODE_MAIN,0);
// find the value of the main line on the active chart and period on the last bar. 
// Uses averaging on 3 bars, uses close price.
 
plusDi=iADX(USDCAD,PERIOD_M1,6,PRICE_OPEN,MODE_PLUSDI,1);
// find the value of line +DI on the minute chart USDCAD on the second last bar. 
// Uses averaging on 6 bars, uses open price.
 
minusDi=iADX(AUDUSD,PERIOD_H1,10,PRICE_HIGH,MODE_MINUSDI,5);
// find the value of line -DI on the hour chart AUDUSD on the 6th last bar. 
// Uses averaging on 10 bars, uses maximal price.



Average True Range (ATR)

Der Indikator Average True Range (ATR) wird zur Bestimmung der Markt-Volatilität verwendet.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/atr

Funktion Prototyp:

double iATR(string symbol,int timeframe,int period,int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period – die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • shift – bestimmt, welchen Balken der Indikator verwenden soll.

Anwendungsbeispiele:



double atr;
 
atr=iATR(0,0,15,0);
// volatility of the last bar on the active chart and period. 
// Uses 15 bars to get the mean value. 

atr=iATR(EURUSD,PERIOD_M15,5,1);
// volatility of the last but one bar on a 15 minute chart EURUSD. 
// Uses 5 bars to get the mean value.
 
atr=iATR(USDCAD,PERIOD_H1,32,0);
// volatility of the last bar on an hour chart USDCAD. 
// Uses 32 bars to get the mean value.


Awesome Oscillator (AO) von Bill Williams

Der Indikator Awesome Oscillator (AO)von Bill Williams wird verwendet, um die marktbewegenden Kräfte zu bestimmen.
https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/awesome

Funktion Prototyp:

double iAO( string symbol, int timeframe, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double ao;
 
ao=iAO(0,0,0);
// moving force of the last bar on the active chart and period 

ao=iAO(EURUSD,PERIOD_M5,0);
// moving force of the last bar on 5-minute chart EURUSD 

ao=iAO(EURAUD,PERIOD_W1,1);
// moving force of the last but one bar on a weekly chart EURAUD

Bears Power

Der Indikator Bears Power wird zur Einschätzung des Gleichgewichts der "Bären"-Power verwendet.
http://www.fibo-forex.ru/pages.php?page=1799

Funktion Prototyp:

double iBearsPower(string symbol,int timeframe,int period,int applied_price,int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:

double bp;
 
bp=iBearsPower(0,0,5,PRICE_OPEN,0);
// balance of the last bar on the active chart and period. Use 5 bars for averaging and opening prpice. 

bp=iBearsPower("EURUSD",PERIOD_M5,32,PRICE_CLOSE,1);
// balance of the last but one bar on 5-minute chart EURUSD. Use 32 bars for averaging and close price. 

bp=iBearsPower("EURGBP",PERIOD_D1,51,PRICE_MEDIAN,0);
// balance of the last bar on a daily chart EURGBP. Use 51 bars for averaging and average price.



Bollinger Bänder (BB)

Der Indikator Bollinger Bänder (BB) wird verwendet, um die oberen und unteren Grenzen des normalen Bereichs der Kursschwankungen zu bestimmen.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/bb

Funktion Prototyp:

double iBands( string symbol, int timeframe, int period, int deviation, int bands_shift,
               int applied_price, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • deviation – Abweichung von der Hauptlinie.
  • bands_shift - Verschiebung über Kurse.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Einstiegskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • mode – wählt eine Linie, deren Wert ermittelt wird. Verwenden Sie die folgenden vordefinierten Konstanten:
    • MODE_UPPER - obere Linie
    • MODE_LOWER - untere Linie
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double bb;
 
bb=iBands
(0,0,20,2,0,PRICE_LOW,MODE_LOWER,0);
// lower limit of the last bar on the active chart and period. 
// Use 20 bars for averaging, and the minimal price.
// Deviation from the main line is 2, shift is not used.
 
bb=iBands("EURUSD",PERIOD_H1,13,2,3,PRICE_HIGH,MODE_UPPER,1);
// upper limit of the last but one bar on an hour chart EURUSD. 
// Use 13 bars for averaging, and the maximal price.
// Deviation from the main line is 2, shift is 3 bars. 

bb=iBands("EURGBP",PERIOD_D1,21,3,4,PRICE_HIGH,MODE_UPPER,0);
// upper limit of the last bar on a daily chart EURGBP. 
// Use 21 bars for averaging, and the maximal price.
// Deviation from the main line is 2, shift is 4 bars.



Bulls Power

Der Indikator Bulls Power wird zur Einschätzung des Gleichgewichts der "Bullen"-Power verwendet.
http://www.forexdealer.net/help/bul_hlp.htm

Funktion Prototyp:

double iBullsPower(string symbol, int timeframe, int period, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double bp;
 
bp=iBullsPower(0,0,10,PRICE_CLOSE,1);
// balance of the last but one bar on the active chart and period. Use 10 bars for averaging
// and close price. 

bp=iBullsPower("EURGBP",PERIOD_M1,21,PRICE_HIGH,1);
// balance of the last bar on a minute chart EURGBP. Use 21 bars for averaging and the maximal price. 

bp=iBullsPower("EURUSD",PERIOD_H1,33,PRICE_MEDIAN,0);
// balance of the last bar on an hour chart EURUSD. Use 33 bars for averaging and the average price.



Commodity Channel Index (CCI)

Der Indikator Commodity Channel Index (CCI) wird zur Messung der Abweichung des Kurses von seinem durchschnittlichen statistischen Kurs verwendet.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/cci

Funktion Prototyp:

double iCCI( string symbol, int timeframe, int period, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:

double cci;
   
cci=iCCI(0,0,14,PRICE_TYPICAL,0);
// index of the last bar on the active chart and period.
// Use 14 bars for finding the mean value and
// typical price. 

cci=("EURUSD",PERIOD_M1,21,PRICE_HIGH,1);
// index of the last but one bar on a minute chart EURUSD.
// Use 21 bars for finding the mean value and
// maximal price.
 
cci=iCCI("EURGBP",PERIOD_D1,7,PRICE_CLOSE,0);
// index of the last bar on a daily chart EURGBP.
// Use 7 bars for finding the mean value and
// close price.


DeMarker (DeM)

Der Indikator DeMarker (DeM) wird verwendet zur Prognose einer Kurswende auf Grundlage des Kursunterschieds vorangegangener Balken.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/demarker

Funktion Prototyp:

double iDeMarker( string symbol, int timeframe, int period, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum ermitteln des Mittelwerts verwendet werden.
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:

double dm;
   
dm=iDeMarker(0,0,13,0);
// DeMarker value of the last bar on the current chart and period.
// Use 13 bars to find the mean value. 

dm=iDeMarker("EURJPY",PERIOD_H4,51,1);
// DeMarker value of the last but one bar on 4-hour chart EURJPY.
// Use 51 bars to find the mean value. 

dm=iDeMarker("USDCAD",PERIOD_M30,21,0);
// DeMarker value of the last bar on 30-minutes chart USDCAD.
// Use 21 bars to find the mean value.


Envelopes

Der Indikator Envelopes wird zur Bestimmung der Grenzen der Kursschwankungen auf der Basis von zwei Moving Averages verwendet.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/envelopes

Funktion Prototyp:

double iEnvelopes( string symbol, int timeframe, int ma_period, int ma_method, int ma_shift, 
                   int applied_price, double deviation, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • ma_period - die Anzahl der Balken, die zum ermitteln der Mittellinie verwendet werden.
  • ma_method – bestimmt die verwendete Methode zum Ermitteln der Mittelwerte. Es gibt die folgenden Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - geglätteter Moving Average
    • MODE_LWMA - linear gewichteter Moving Average
  • ma_shift – Verschiebung der Indikator-Linien in Balken. Wenn die Verschiebung positiv ist, verschieben sich die Indikator-Linien nach rechts. Ist die Verschiebung negativ, verschieben sich die Linie nach links.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • deviation – Abweichung der Mittellinie in Prozent. Zu Beispiel, wenn Sie 1.0 schreiben, bedeutet dies 10%, 0.25 - 25%, usw.
  • mode - wählt eine Linie, deren Wert ermittelt wird. Verwenden Sie diefolgenden vordefinierten Konstanten:
    • MODE_UPPER - obere Linie
    • MODE_LOWER - untere Linie
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double e;
   
e=iEnvelopes(0,0,21,MODE_SMA,0,PRICE_CLOSE,0.05,MODE_LOWER,0);
// lower limit of the last bar on the active chart and period.
// Use 21 bars and close price for finding the value of simple moving 
// average. Shift is not used. Deviation from the main 
// line: 5%.
 
e=iEnvelopes("EURUSD",PERIOD_H1,13,MODE_SMMA,3,PRICE_MEDIAN,0.15,MODE_UPPER,1);
// upper limit of the last but one bar on an hour chart EURUSD.
// Use 13 bars and average price for finding the value of smoothed moving 
// average. Shift: 3 bars. Deviation from the main line: 15%. 

e=iEnvelopes("EURAUD",PERIOD_D1,7,MODE_EMA,2,PRICE_CLOSE,0.20,MODE_LOWER,0);
// lower limit of the last bar on a daily chart EURAUD.
// Use 7 bars and close price for finding the value of exponential 
// moving average. Shift: 2 bars. Deviation from the main 
// line: 20%.

Force Index (FRC)

Der Indikator Force Index (FRC) wird verwendet zum Messen der Kraft der "Bullen" bei jedem Anstieg, und der Kraft der "Bären" bei jedem Fallen.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/fi

Funktion Prototyp:

double iForce( string symbol, int timeframe, int period, int ma_method, 
               int applied_price, int shift)

Parameter:

  • symbol – dbestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - the number of bars, used to find the mean value.
  • ma_period - die Anzahl der Balken, die zum Ermitteln der Hauptlinie verwendet werden.
  • ma_method – bestimmt die Methode zum Ermitteln der Mittelwerte. Es gibt die folgenden vordefinierten Konstanten für die Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - geglätteter Moving Average
    • MODE_LWMA - linear gewichteter Moving Average
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double f;
   
f=iForce(0,0,13,MODE_SMA,PRICE_CLOSE,0);
// force index of the last bar on the active chart and period. Period
// of averaging: 13 bars. Method of averaging: simple moving average.
// Use close price.
 
f=iForce("EURGBP",PERIOD_M5,21,MODE_LWMA,PRICE_HIGH,1);
// force index of the last but one bar on 5-minute chart EURGBP. Period
// of averaging: 21 bars. Method of averaging: linearly-weighted moving average.
// Use maximal price. 

f=iForce("EURUSD",PERIOD_M1,32,MODE_SMMA,PRICE_MEDIAN,0);
// force index of the last bar on a minute chart EURUSD. Period
// of averaging: 32 bars. Method of averaging: smoothed moving average.
// Use average price.


Fractals

Fractals sind einer der fünf Indikatoren des Handelssystems von Bill Williams, verwendet zum Erkennen von Böden und Spitzen in einem Kurs-Chart. Fractals erscheinen nicht auf allen Balken. Wenn also kein Fractal auf einem Balken erscheint, gibt die Funktion Null zurück.
https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/fractals

Funktion Prototyp:

double iFractals( string symbol, int timeframe, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • mode - wählt eine Linie, deren Wert empfangen wird. Die folgenden vordefinierten Konstanten werden verwendet:
    • MODE_UPPER - obere Fractals
    • MODE_LOWER - untere Fractals
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double f;
 
f=iFractals(0,0,MODE_UPPER,0);
// upper fractal of the last bar on the active chart and
// period.
 
f=iFractals("USDCAD",PERIOD_M5,MODE_LOWER,1);
// lower fractal of the last but one bar on 5-minute chart
// USDCAD. 

f=iFractals("USDJPY",PERIOD_D1,MODE_UPPER,0);
// upper fractal of the last bar on a daily chart USDJPY.



Gator Oscillator

Gator Oscillator ist auf der Basis des Indikators Alligator aufgebaut und wird für das Messen des Grads an Konvergenz und Divergenz der Ausgleichslinien.
https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/go

Funktion Prototyp:

double iGator( string symbol, int timeframe, int jaw_period, int jaw_shift, int teeth_period, 
               int teeth_shift, int lips_period, int lips_shift, int ma_method, 
               int applied_price, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • jaw_period - Die Periode der Mittelwertbildung des Alligator Kiefers (blaue Linie)
  • jaw_shift - Verschiebung des Alligator Kiefers
  • teeth_period - Die Periode der Mittelwertbildung der Alligator Zähne (rote Linie)
  • teeth_shift - Verschiebung der Alligator Zähne
  • lips_period - Die Periode der Mittelwertbildung der Alligator Lippen (grüne Linie)
  • lips_shift - Verschiebung der Alligator Lippen
  • ma_method – bestimmt die Methode für den Erhalt der Mittelwerte. Es gibt die folgenden vordefinierten Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Geglätteter Moving Average
    • MODE_LWMA - Linear-gewichteter Moving Average
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • mode – bestimmt den Wert, den Sie ermitteln wollen (Kiefer, Zähne oder Lippen). Zur Auswahl verwenden Sie eine der Konstanten:
    • MODE_UPPER - oberes Histogramm
    • MODE_LOWER - unteres Histogramm
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double g;
 
g=iGator(0,0,13,8,8,0,0,0,MODE_SMA,PRICE_CLOSE,MODE_UPPER,0);
// upper histogram of the last bar on the active chart and period. Periods of 
// averaging for jaw, teeth and lips accordingly: 13,8,8. Shift is not used. 
// For averaging use close price and the method of a simple moving average. 

g=iGator("EURGBP",PERIOD_M1,21,13,9,4,3,2,MODE_SMMA,PRICE_OPEN,MODE_LOWER,1);
// lower histogram of the last but one bar on a minute chart EURGBP. Periods of 
// averaging for jaw, teeth and lips accordingly: 21,13,9. Shifts accordingly:
// 4,3 and 2. For averaging use open price and the method of smoothed 
// moving average.
 
g=iGator("USDCAD",PERIOD_D1,51,21,13,8,5,4,MODE_EMA,PRICE_MEDIAN,MODE_UPPER,0);
// upper histogram of the last bar on a daily chart USDCAD. Periods of
// averaging for jaw, teeth and lips accordingly: 51,21,13. Shifts accordingly: 8,5 and 4.
// For averaging use average price and the method of exponential moving average.


Ichimoku Kinko Hyo

Der Indikator Ichimoku Kinko Hyo wird verwendet um einen Trend, Support und Resistance Ebenen zu bestimmen, sowie Signale zum Kaufen und zum Verkaufen.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/ikh

Funktion Prototyp:

double iIchimoku( string symbol, int timeframe, int tenkan_sen, int kijun_sen, 
                  int senkou_span_b, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • tenkan_sen - Periode der Mittelung Tenkan Sen.
  • kijun_sen - Periode der Mittelung Kijun Sen.
  • senkou_span_b - Periode der Mittelung Senkou Span B.
  • mode - bestimmt den Wert, den Sie ermitteln möchten. Zur Auswahl verwenden Sie eine der Konstanten:
    • MODE_TENKANSEN - Tenkan-sen
    • MODE_KIJUNSEN - Kijun-sen
    • MODE_SENKOUSPANA - Senkou Span A
    • MODE_SENKOUSPANB - Senkou Span B
    • MODE_CHINKOUSPAN - Chinkou Span
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double i;
 
i=iIchimoku(0,0,13,21,53,MODE_KIJUNSEN,0);
// the value of the line Kijun-sen on the last bar on the current security and period.
// Periods for finding mean values for Tenkan Sen, Kijun Sen and Senkou Span B
// accordingly: 13,21 and 53.
 
i=iIchimoku("EURUSD",PERIOD_M5,21,53,96,MODE_TENKANSEN,1);
// the value of the line Tenkan-sen on the last but one bar on 5-minute chart EURUSD.
// Periods for finding mean values for Tenkan Sen, Kijun Sen and Senkou Span B
// accordingly: 21,53 and 96.

i=iIchimoku("USDCAD",PERIOD_D1,3,5,9,MODE_CHINKOUSPAN,0);
// the value of the line Chinkou Span on the last bar on a daily chart USDCAD.
// Periods for finding mean values for Tenkan Sen, Kijun Sen and Senkou Span B
// accordingly: 3,5 and 9.



Market Facilitation Index (BW MFI)

Der Indikator Market Facilitation Index (BW MFI) wird verwendet zum Messen des Kurses für einen Tick.
https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/market_facilitation

Funktion Prototyp:

double iBWMFI( string symbol, int timeframe, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double mfi;
 
mfi=iBWMFI(0,0,0);
// index of market facilitation of the last bar on the active chart and period. 

mfi=iBWMFI("EURUSD",PERIOD_H1,1);
// index of market facilitation of the last but one bar on an hour chart EURUSD. 

mfi=iBWMFI("EURGBP",PERIOD_D1,0);
// index of market facilitation of the last bar on a daily chart EURGBP.


Momentum

Der Indikator Momentum wird für das Messen des Umfangs einer Kursänderung über einen Zeitraum verwendet..
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/momentum

Funktion Prototyp:

double iMomentum( string symbol, int timeframe, int period, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double m;
 
m=iMomentum(0,0,12,PRICE_CLOSE,1);
// momentum of the last but one bar on the active chart and period. Use 
// 12 bars and close price for finding a mean value. 

m=iMomentum("EURUSD",PERIOD_D1,21,PRICE_OPEN,0);
// momentum of the last bar on a daily chart EURUSD. Use 
// 21 bars and open price for finding a mean value. 

m=iMomentum("USDCAD",PERIOD_H1,7,PRICE_MEDIAN,1);
// momentum of the last but one bar on an hour chart USDCAD. Use 
// 7 bars and average price for finding a mean value.


Money Flow Index (MFI)

Der Indikator Money Flow Index (MFI) wird für die Messung der Intensität von Investitionen verwendet..
https://www.metatrader5.com/en/terminal/help/indicators/volume_indicators/mfi

Funktion Prototyp:

double iMFI( string symbol, int timeframe, int period, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstante (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double mfi;
 
iMFI(0,0,14,1);
// intensity of investments of the last but one bar on the current chart and period.
// Use 14 bars to find the mean value. 

iMFI("EURGBP",PERIOD_H4,32,0);
// intensity of investments of the last bar on 4-hour chart EURGBP.
// Use 32 bars to find the mean value. 

iMFI("EURUSD",PERIOD_W1,9,1);
// intensity of investments of the last but one bar on a weekly chart EURUSD.
// Use 9 bars to find the mean value.


Moving Average (MA)

Der Indikator Moving Average (MA) zeigt den durchschnittlichenKurs für einen bestimmten Zeitrahmen.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/ma

Funktion Prototyp:

double iMA( string symbol, int timeframe, int period, int ma_shift, 
            int ma_method, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • ma_shift – Verschiebung auf der Linie in Balken. Wenn die Verschiebung positiv ist, verschiebt sich die Linie nach rechts. Und auf der Gegenseite, wenn die Verschiebung negativ ist, verschiebt sich die Linie nach links.
  • ma_method – bestimmt eine Methode zum Ermitteln des Mittelwerts. Es gibt die folgenden vordefinierten Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Geglätteter Moving Average
    • MODE_LWMA - Linear-gewichteter Moving Average
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double ma;
 
ma=iMA(
0,0,13,0,MODE_SMA,PRICE_CLOSE,0);
// moving average of the last bar on the active chart and period.
// Use 13 bars and close price for finding simple moving average.
// Shift is not used. 

ma=iMA("GOLD",PERIOD_M15,21,6,MODE_LWMA,PRICE_LOW,1);
// moving average of the last but one bar on 15-minute chart GOLD.
// Use 21 bars and minimal price for finding linearly-weighted moving average.
// Shift: 6 bars.

ma=iMA("EURCHF",PERIOD_D1,18,4,MODE_SMMA,PRICE_TYPICAL,0);
// moving average of the last bar on a daily chart EURCHF.
// Use 18 bars and typical price for finding smoothed moving average.
// Shift: 4 bars.


Average Convergence/Divergence (MACD)

Der Indikator Average Convergence/Divergence (MACD) wird zum Verfolgen von Trends verwendet, basierend auf zwei Moving Averages.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/macd

Funktion Prototyp:

double iMACD( string symbol, int timeframe, int fast_ema_period, 
              int slow_ema_period, int signal_period, int applied_price,
              int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • fast_ema_period - die Anzahl der Balken zur Berechnung eines schnellen Moving Average.
  • slow_ema_period - die Anzahl der Balken zur Berechnung eines langsamen Moving Average.
  • signal_period - die Anzahl der Balken, die für die Berechnung einer Signal-Linie verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs)/4
  • mode - bestimmt den Wert, den Sie ermitteln möchten. Zur Auswahl verwenden Sie eine der Konstanten:
    • MODE_MAIN - Hauptlinie
    • MODE_SIGNAL - Signal-Linie
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double ma;
 
ma=iMACD(0,0,9,21,9,PRICE_CLOSE,MODE_MAIN,0);
// value of the main line for the last bar on the active chart and period.
// Bars, used to find mean values of a fast, slow and signal 
// moving average accordingly: 9,21 and 9. Use close price. 

ma=iMACD("EURUSD",PERIOD_H1,21,52,18,PRICE_HIGH,MODE_SIGNAL,1);
// value of the signal line for the last but one bar on an hour chart EURUSD.
// Bars, used to find mean values of a fast, slow and signal 
// moving average accordingly: 21,52 and 18. Use maximal price. 

ma=iMACD("USDCAD",PERIOD_D1,7,13,7,PRICE_MEDIAN,MODE_MAIN,1);
// value of the main line for the last but one bar on a daily chart USDCAD.
// Bars, used to find mean values of a fast, slow and signal 
// moving average accordingly: 7,13 and 7. Use average price.


Moving Average of Oscillator (OsMA)

Der Indikator Moving Average of Oscillator (OsMA) wird für das Messen des Unterschieds zwischen der Haupt- und der Signal-Linie des Indikators Average Convergence/Divergence (MACD) verwendet.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/macd

Funktion Prototyp:

double iOsMA( string symbol, int timeframe, int fast_ema_period, int slow_ema_period,
              int signal_period, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • fast_ema_period - die Anzahl der Balken zur Berechnung eines schnellen Moving Average.
  • slow_ema_period - die Anzahl der Balken zur Berechnung eines langsamen Moving Average.
  • signal_period - die Anzahl der Balken, die für die Berechnung einer Signal-Linie verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll .

Anwendungsbeispiele:

double osma;
 
osma=iOsMA(0,0,12,26,9,PRICE_CLOSE,0);
// difference of the last bar on the active chart and period. Bars, used 
// to find mean values for the fast, slow and signal 
// moving average accordingly: 12,26 and 9. Use close price. 

osma=iOsMA("EURUSD",PERIOD_M1,7,13,6,PRICE_OPEN,1);
// difference of the last but one bar on a minute chart EURUSD. Bars, used 
// to find mean values for the fast, slow and signal 
// moving average accordingly: 7,13 and 6. Use open price. 

osma=iOsMA("EURAUD",PERIOD_H1,21,48,18,PRICE_TYPICAL,0);
// difference of the last bar on an hour chart EURAUD. Bars, used 
// to find mean values for the fast, slow and signal 
// moving average accordingly: 21,48 and 18. Use typical price.


On Balance Volume (OBV)

Der Indikator On Balance Volume (OBV) Bezieht Volumen zu Kursänderungen, begleitet dieses Volumen.
https://www.metatrader5.com/en/terminal/help/indicators/volume_indicators/obv

Funktion Prototyp:

double iOBV( string symbol, int timeframe, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlischer Kurs, (Hoch+Kurs)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double obv;
 
obv=iOBV(0,0,PRICE_OPEN,0);
// Balance volume of the last bar on the current chart and period. Use open price 

obv=iOBV("GBPCHF",PERIOD_M30,PRICE_CLOSE,1);
// Balance volume of the last but one bar on 30-minutes chart GBPCHF. Use close price. 

obv=iOBV("GBPJPY",PERIOD_H4,PRICE_MEDIAN,0);
// Balance volume of the last bar on 4-hour chart GBPJPY. Use average price.


Parabolic Stop and Reverse system (Parabolic SAR)

Der Indikator Parabolic Stop and Reverse system (Parabolic SAR) wird verwendet zum Analysieren von Trend-Märkten und Bestimmung von Ausstiegspunkten.
https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/psar

Funktion Prototyp:

double iSAR( string symbol, int timeframe, double step, double maximum, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • step - schrittweise Erhöhung der Stop Ebene, in der Regel 0.02.
  • maximum - maximale Stop Ebene, in der Regel 0.2.
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double sar;
 
sar=iSAR(0,0,0.02,0.2,0);
// indicator value for the last bar on the current chart and period.
// Step of stop level increment: 0.02. Maximal stop level: 0.2. 

sar=iSAR("EURUSD",PERIOD_M1,0.03,0.18,1);
// indicator value for the last but one bar on a minute chart EURUSD.
// Step of stop level increment: 0.03. Maximal stop level: 0.18. 

sar=iSAR("EURCHF",PERIOD_H1,0.01,0.15,0);
// indicator value for the last bar on an hour chart EURCHF.
// Step of stop level increment: 0.01. Maximal stop level: 0.15.


Relative Strength Index (RSI)

Der Indikator Relative Strength Index (RSI) wird verwendet zum Prognostizieren einer Kurswende.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/rsi

Funktion Prototyp:

double iRSI( string symbol, int timeframe, int period, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:



double rsi;
 
rsi=iRSI(0,0,14,PRICE_CLOSE,0);
// indicator value for the last bar on the active chart and period. 
// Use 14 bars and close price to find the mean value. 

rsi=iRSI("USDCAD",PERIOD_M1,9,PRICE_OPEN,1);
// indicator value for the last but one bar on a minute chart USDCAD. 
// Use 9 bars and close price to find the mean value. 

rsi=iRSI("EURAUD",PERIOD_H1,25,PRICE_TYPICAL,0);
// indicator value for the last bar on an hour chart EURAUD. 
// Use 25 bars and typical price to find the mean value.


Relative Vigor Index (RVI)

Der Indikator Relative Vigor Index (RVI) wird verwendet zur Bestimmung der Signale zum Kaufen und Verkaufen. Es wird empfohlen diesen Indikator mit dem vorherigen zu verwenden, um Mehrdeutigkeiten zu vermeiden..
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/rvi

Funktion Prototyp:

double iRVI( string symbol, int timeframe, int period, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • mode - bestimmt den Wert, den Sie Ermitteln möchten. Zur Auswahl verwenden Sie eine der Konstanten:
    • MODE_MAIN - Hauptlinie
    • MODE_SIGNAL - Signal-Linie
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double rvi;
 
rvi=iRVI(0,0,12,MODE_MAIN,1);
// value of the main line of the last but one bar on the active chart and period. 
// Use 12 bars to find the mean value.
 
rvi=iRVI("EURUSD",PERIOD_D1,21,MODE_SIGNAL,0);
// value of the signal line on the last bar on a daily chart EURUSD. 
// Use 21 bars to find the mean value.
 
rvi=iRVI("GBPJPY",PERIOD_H1,19,MODE_MAIN,1);
// value of the main line on the last but one bar on an hour chart GBPJPY. 
// Use 19 bars to find the mean value.


Standard Deviation

Der Indikator Standard Deviation wird zum Messen der Markt-Volatilität verwendet.
https://ta.mql4.com/indicators/trends/standard_deviation

Funktion Prototyp:

double iStdDev( string symbol, int timeframe, int ma_period, int ma_shift,
                int ma_method, int applied_price, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • ma_period - Anzahl der Balken, die zum Erhalt der Indikator-Linien verwendet werden.
  • ma_shift – Verschiebung von Indikator-Linien in Balken. Wenn die Verschiebung positiv ist, wird die Linie nach rechts verschoben. Und auf der Gegenseite, wenn die Verschiebung negativ ist, wird die Linie nach links verschoben.
  • ma_method – bestimmt eine Methode zum Ermitteln des Mittelwerts. Es gibt die folgenden vordefinierten Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Geglätteter Moving Average
    • MODE_LWMA - Linear-gewichteter Moving Average
  • applied_price – bestimmt den zu verwendenden Kurs (der gemittelt wird). Es gibt die folgenden vordefinierten Konstanten zur Auswahl eines Kurses:
    • PRICE_CLOSE - Schlusskurs
    • PRICE_OPEN - Eröffnungskurs
    • PRICE_HIGH - maximaler Kurs
    • PRICE_LOW - minimaler Kurs
    • PRICE_MEDIAN - durchschnittlicher Kurs, (Hoch+Tief)/2
    • PRICE_TYPICAL - typischer Kurs, (Hoch+Tief+Schlusskurs)/3
    • PRICE_WEIGHTED - gewichteter Schlusskurs, (Hoch+Tief+Schlusskurs+Schlusskurs)/4
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:



double sd;
 
sd=iStdDev(0,0,10,0,MODE_SMA,PRICE_CLOSE,1);
// deviation of the last but one bar on the active chart and period. 
// Use 10 bars and close price to find simple 
// moving average. Shift is not used.
 
sd=iStdDev("EURUSD",PERIOD_D1,21,3,MODE_SMMA,PRICE_MEDIAN,0);
// deviation of the last bar on a daily chart EURUSD. 
// Use 21 bars and average price to find smoothed 
// moving average. Shift: 3 bars.
 
sd=iStdDev("USDCAD",PERIOD_H4,17,2,MODE_EMA,PRICE_OPEN,1);
// deviation of the last but one bar on 4-hour chart USDCAD. 
// Use 17 bars and open price to find exponential
// moving average. Shift: 2 bars.



Stochastic Oscillator

Der Indikator Stochastic Oscillator wird verwendet um Signale zum Kaufen und Verkaufen zu bestimmen.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/so

Funktion Prototyp:

double iStochastic( string symbol, int timeframe, int %Kperiod, 
                    int %Dperiod, int slowing, int method, 
                    int price_field, int mode, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, auf welchem Zeitrahmen (Periode) der Indikator verwendet wird. Verwenden Sie 0 für die aktuelle Periode, oder eine der Konstanten (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • %K period - Anzahl der Balken, die zum Erzeugen der Linie %K verwendet werden.
  • %D period - Anzahl der Balken, die zum Erzeugen der Linie %D verwendet werden.
  • slowing - Wert der Verlangsamung.
  • method - bestimmt eine Methode zum Ermitteln des Mittelwerts. Es gibt die folgenden vordefinierten Konstanten zur Auswahl einer Methode:
    • MODE_SMA - Simple Moving Average
    • MODE_EMA - Exponential Moving Average
    • MODE_SMMA - Geglätteter Moving Average
    • MODE_LWMA - Linear-gewichteter Moving Average
  • price_field – bestimmt welche Kurse zur Berechnung verwendet werden. Es gibt die folgenden vordefinierten Werte für die Kursauswahl:
    • 0 - Low/High (Tief/Hoch)
    • 1 - Close/Close (Schlusskurs/Schlusskurs)
  • mode - bestimmt den Wert, den Sie ermitteln möchten. Zur Auswahl, verwenden Sie eine der Konstanten:
    • MODE_MAIN - Hauptlinie
    • MODE_SIGNAL - Signal-Linie
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Die Verwendung des Parameters mode bestimmt, was zurückgegeben werden soll:

Anwendungsbeispiele:

double s;
 
s=iStochastic(0,0,10,6,6,MODE_SMA,0,MODE_MAIN,0);
// value of the main line for the last bar on the current chart and period. 
// Bars used to calculate lines %K, %D and slowing 
// accordingly: 10, 6 and 6. Method of averaging: simple moving average. 
// Use prices: Low/High.
 
s=iStochastic("EURUSD",PERIOD_M1,6,3,3,MODE_SMMA,1,MODE_SIGNAL,1);
// value of the signal line for the last but one bar on a minute chart EURUSD.
// Bars used to calculate lines %K, %D and slowing 
// accordingly: 6, 3 and 3. Method of averaging: smoothed moving average. 
// Use prices: Close/Close.
 
s=iStochastic("EURGBP",PERIOD_M5,9,7,7,MODE_EMA,0,MODE_MAIN,0);
// value of the main line for the last bar on 5-minute chart EURGBP.
// Bars used to calculate lines %K, %D and slowing 
// accordingly: 9, 7 and 7. Method of averaging: exponential moving average.
// Use prices: Low/High.


Williams’ Percent Range (%R)

Der Indikator Williams’ Percent Range (%R) wird verwendet um zu bestimmen, ob der Markt überkauft/überverkauft ist.
https://www.metatrader5.com/en/terminal/help/indicators/oscillators/wpr

Funktion Prototyp:

double iWPR( string symbol, int timeframe, int period, int shift)

Parameter:

  • symbol – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen.
  • timeframe – bestimmt, welches Finanzinstrument (Währungspaar) verwendet werden soll, für die Berechnung der Werte eines technischen Indikators. Verwenden Sie NULL (oder 0), wenn Sie das aktuelle (aktive) Finanzinstrument (Chart) benötigen (PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1).
  • period - die Anzahl der Balken, die zum Ermitteln des Mittelwerts verwendet werden.
  • shift – bestimmt, zu welchem Balken der Indikator verwendet werden soll.

Anwendungsbeispiele:


double wpr;
 
wpr=iWPR(0,0,14,1);
// overbought: the last but one bar on the active chart and period.
// Use 14 bars to get the mean value.
 
wpr=iWPR("USDCHF",PERIOD_D1,9,0);
// overbought: The last bar on a daily chart USDCHF.
// Use 9 bars to get the mean value.
 
wpr=iWPR("GBPJPY",PERIOD_H1,23,1);
// overbought: the last but one bar on an hour chart GBPJPY.
// Use 23 bars to get the mean value.


Die Richtige Verwendung von Technischen-Indikator-Funktionen

Für die korrekte Verwendung dieser Funktionen müssen Sie genau wissen, wie ein Indikator angelegt ist und wie man ihn nutzt (Handelssignale). Natürlich sollten sie in Ihrem eigenen Expert Advisor oder Indikator verwendet werden. Dennoch, versuchen Sie als Hausaufgabe ein Skript zu schreiben, das Sie über Einstiegspunkte informiert, basierend auf irgendeinem Indikator (wählen Sie selbst).

Lassen Sie uns, als ein Beispiel, eine solche Hausaufgabe schreiben, die Einstiegspukte basierend auf dem Stochastic Oscillator anzeigt. Wir werden die folgenden Regeln zum Eintritt in den Markt verwenden:
Kaufen, wenn die Hauptlinie höher als die Signal-Linie steigt. Verkaufen, wenn die Hauptlinie tiefer als die Signal-Linie fällt.
In dem Bild sind die Einstiegspunkte eigekreist:

Als erstes deklarieren wir mehrere Variablen, in denen wir Werte des Signals und die Hauptlinie auf dem aktuellen und den vorherigen Balken speichern werden:

double mainLine;
double prevMainLine;
double signalLine;
double prevSignalLine;

Nun ermitteln wir die Werte für diese Variablen:

mainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,0);
prevMainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);
signalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);
prevSignalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);

Sie sehen, wir haben uns selbst auf den letzten und den vorletzten Balken beschränkt. Nun prüfen wir, ob es Signale zum Kaufen oder Verkaufen gibt

if(prevMainLine<prevSignalLine && mainLine>signalLine)
   Alert("Signal to buy");
// if the main line was under the signal one and rised over it,
// this is a signal to buy
         
if(prevMainLine>prevSignalLine && mainLine<signalLine)
   Alert("Signal to sell");         
// if the main line was over the signal one and fell bellow it,
// this is a signal to sell

Wir haben die Operatoren zum Vergleichen und logische &&. Versuchen Sie es genau zu verstehen..

Nun übergeben wir es in einen Zyklus, um die hundert letzten Balken zu überprüfen:

for(int a=0;a<100;a++)
{
   mainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,a);
   prevMainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,a+1);
   signalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,a);
   prevSignalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,a+1);
 
   if(prevMainLine<prevSignalLine && mainLine>signalLine)
      Alert("Signal to buy");
         
   if(prevMainLine>prevSignalLine && mainLine<signalLine)
      Alert("Signal to sell");         
}

Sehen Sie es? Wir haben einfach einen Zähler aus einem Zyklus eingefügt und können die Balken prüfen. We have simply added a counter from a cycle and can check the bars. Und nun, der Einfachheit halber, statt hundert deklarieren wie eine Konstante BARS_TO_ANALYSE, die bestimmen wird, wie viele letzte Balken analysiert werden. Hier ist die endgültige Version des Skripts:

//+------------------------------------------------------------------+
//|                                        showStochasticSignals.mq4 |
//|                                    Antonuk Oleg Copyright © 2007 |
//|                                                   banderass@i.ua |
//+------------------------------------------------------------------+
#property copyright "Antonuk Oleg Copyright © 2007"
#property link      "banderass@i.ua"
 
#define BARS_TO_ANALYSE 100
 
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
{
   double mainLine;
   double prevMainLine;
   double signalLine;
   double prevSignalLine;
      
   for(int a=0;a<BARS_TO_ANALYSE;a++)
   {
      mainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,a);
      prevMainLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_MAIN,a+1);
      signalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,a);
      prevSignalLine=iStochastic(0,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,a+1);
 
      if(prevMainLine<prevSignalLine && mainLine>signalLine)
         Alert("Signal to buy. Time: ",TimeToStr(Time[a]));
         
      if(prevMainLine>prevSignalLine && mainLine<signalLine)
         Alert("Signal to sell. Time: ",TimeToStr(Time[a]));
   }
   return(0);
}

In diesem Skript muss das folgende kleine Code-Fragment merkwürdig für Sie erscheinen (wenn es das tut, sind Sie ein erfolgreicher Schüler):

TimeToStr(Time[a])

Diese Funktion übernimmt die Anzahl der Sekunden, die seit dem 1. Januar 1970 vergangen sind und gibt einen String mit diesem Datum zurück. Das vorgegebene Array Time [] gibt die gleiche Anzahl an Sekunden wie angegeben zu einem ausgewählten Balken zurück. Hier ist ein ideales Paar.
Als eine Teilaufgabe, versuchen Sie einen schweren Moving Average (mit der Periode 200-500) hinzuzufügen und filtern Sie die unnötigen Signale in einem solche Weg heraus: wenn ein Kurs über der Mittellinie ist, verkaufen Sie nicht. Wenn ein Kurs über der Mittellinie ist, kaufen Sie nicht.
Nun, haben Sie dies geschafft? Dann hier weitere Informationen für Sie.


Etwas Neues über Variablen Deklaration

Normalerweise deklarieren wir Variablen so:

double maxPrice;
double minPrice;
double lastPrices[100];
 
int maxIndex;
int minIndex;
int levels[10];

Machen Sie es nicht so. Machen Sie es auf diese Weise:

double maxPrice,
       minPrice,
       lastPrices[100];
 
int maxIndex,
    minIndex,
    levels[10];

Das heißt, zuerst den Typ angeben, dann durch Komma getrennt die Namen der Variablen (Arrays). Es gibt keinen Unterschied, aber wir vermeiden unnötige Vorgänge. Dasselbe gilt für die Initialisierung:

int value1=10,
    value2=12,
    matrix[2][2]={1,2,
                  3,4};

Funktionen, die mehrere Werte zurückgeben

Gibt es solche Funktionen? Natürlich, Sie können sie selber schreiben. Schauen wir uns an, was Sie können.

Die einfachste Funktion, die einen Wert zurückgibt:

int func()
{
   return(100);
}

Und was, wenn mehrere Werte von verschiedenen Typen gleichzeitig zurückgegeben werden müssen? Schauen Sie hier:

void SuperFunc(int& valueForReturn1,double& valueForReturn2,string& valueForReturn3)
{
   valueForReturn1=100;
   valueForReturn2=300.0;
   valueForReturn3="it works!!";
}

Jetzt versuchen wir diese "erstaunliche" Funktion aufzurufen:

int value1=0;
double value2=0.0;
string value3="";
 
SuperFunc(value1,value2,value3);
MessageBox("value1="+value1+" value2="+value2+" value3="+value3);

Das Ergebnis ist das folgende:

Diese Funktion hat einen geläufigen Unterschied zu einfachen Funktionen: wenn wir sie deklarieren, setzen wir nach dem Argument das kaufmännische Und Zeichen (&). Wenn Sie dies mit einem Argument machen, können Sie seinen Wert innerhalb der Funktion ändern, und nach ihrem Aufruf bleibt das Ergebnis. Eine solche Operation mit Argumenten wird Parameter durch Bezugnahme übergeben genannt. So können Sie so viel Variablen unterschiedlicher Typen zurückgeben, wie Sie möchten. Versuchen Sie das kaufmännische Und im obigen Code wegzulassen, und schauen Sie sich das Ergebnis an:



Neuer Typ von Kommentaren

Sie wissen, wie Sie eine Zeile kommentieren:

// it is a one string comment

Aber manchmal ist es sinnvoller einen bestimmten Code-Block zu kommentieren, um ihn vorübergehend zu deaktivieren. Die obige Methode ist nicht geeignet, um 20-30 Strings zu kommentieren. Hier können wie Multi-Zeilen Kommentare verwenden:

/*
   it is a multi-line comment.
   Very convenient, try it.
*/

Fazit

Heute haben wir eine Menge neues Material gelernt. Wir haben mathematische und trigonometrische Funktionen und Funktionen für den Einsatz mit technischen Indikatoren analysiert. Sie haben an einem einfachen Beispiel gesehen, wie man Handelssignale richtig verfolgt. Und obwohl es nicht zweckmäßig ist sie in Skripts zu verwenden, und sie nicht zu diesem Zweck erstellt wurden, werden Sie bald sehen, in kommenden Lektionen, wie man sie in eigenen Indikatoren und Expert Advisors verwendet. Und dann werden Sie feststellen, wie nützlich sie wirklich sind.

Übersetzt aus dem Englischen von MetaQuotes Software Corp.
Originalartikel: https://www.mql5.com/en/articles/1496

Beigefügte Dateien |
superFunction.mq4 (1.14 KB)
Universelle Expert Advisor Vorlage Universelle Expert Advisor Vorlage

Der Artikel wird Neulingen im Trading helfen, flexible einstellbare Expert Advisors zu erstellen.

Durchbrechen des Strategietester Limits beim Testen eines Hedge EA Durchbrechen des Strategietester Limits beim Testen eines Hedge EA

Eine Anregung zum Testen des Hedge Expert Advisors mit dem Strategietester.

Trading unter Linux Trading unter Linux

Die Verwendung der Programm-Indikatoren für die operative Überwachung der Situation auf den Weltfinanzmärkten.

Ein Verfahren zur Erstellung der Unterstützung / Widerstand Levels Ein Verfahren zur Erstellung der Unterstützung / Widerstand Levels

In diesem Artikel wird ein Erstellungsprozess eines einfachen Skripts beschrieben, der die Unterstützung / Widerstand Levels berechnen wird. Der Artikel wurde für Anfänger geschrieben und deshalb können Sie für jeden Prozess eine detaillierte Erklärung finden. Allerdings, obwohl der Skript sehr einfach ist, wird der Artikel auch für fortgeschrittene Händler und Benutzer des MetaTrader 4 Plattforms nützlich sein, denn er enthält ein Beispiel für den Datenexport in die Tabellenformat, den Import einer Tabelle in Microsoft Excel und die Charts-Aufbau für die weitere detaillierte Analyse.