Einzelnen Beitrag anzeigen
  #55 (permalink)  
Alt 01.10.16
ralfbenker ralfbenker ist offline
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 199
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Na so ähnlich. iCCI oder iRVI sind Funktionen die dir den Indikatorwert für einen bestimmten Bar berechnen.
Mal ein einfaches Beispiel:
b=4
a=Quatratwurzel(4) - Hab kein Quatratwurzelzeichen auf der Tastatur
Das würde man in mql4 dann so schreiben:

double b=4;
double a=sqrt(b);
Das Ergebnis wäre dann 2, a hätte somit den Wert 2 angenommen.
Die Berechnung der Indikatoren ist genauso

Beispiel:
Die Variable ma10 soll den einfachen gleitenden Durchschnitt der letzten 19 Perioden des aktuellen Charts im aktuellen Timeframe für Bar Nummer 1 erhalten:

double ma10=iMA(NULL,0,19,0,MODE_SMA,PRICE_CLOSE,1);

Nachdem diese Programmzeile durchlaufen ist, ist in der Variablen ma10 der GD von Bar 1 enthalten.
Dabei hat jede Variable/Zahl in der Klammer eine eineindeutige Bedeutung !!!
Man kann die Variablen/Bezeichner in der Klammer nur in dieser Reihenfolge angeben.

In diesem Fall hätten die Zahlen in der Klammer folgende Bedeutung:

1. NULL - Das Währungssymbol (NULL bedeutet das Aktuelle auf dem Chart)
2. 0 - diese null steht für das Timeframe - 0 bedeutet aktuelles TF)
3. 19 - Anzahl der Perioden über die der GD berechnet werden soll)
4. 0 - Anzahl der Perioden um die der GD verschoben werden soll
5. MODE_SMA - Art der Durchschnittsbildung(Simpel/Smooth etc.)
6. PRICE_CLOSE - der Preis der für die Berechnung herangezogen werden soll
7. 1 - die Barnummer für die der GD berechnet werden soll

Und genauso funktioniert das bei der Berechnung des iCCI oder iRVI.
Jede Variable hat an einer bestimmten Stelle in der Klammer eine bestimmte Funktion. Deshalb ist dies hier eben falsch:

double IL2 = iCCI(_Symbol,_Period, CCI_indicator_level2, CCI_Price, 1);//+100

Die Variable indicator_level2 steht an der Stelle, wo iCCI die Anzahl der Perioden über die der CCI berechnet wird erwartet.
Und so wird der Wert des CCI vollkommen falsch berechnet.
Hoffe, das hat Dir ein bischen geholfen.