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

Zitat:
Zitat von MA-EA Beitrag anzeigen
Der Tag war hart, also kurz:

Bei der Dekla des GDs ist das wohl so.

Bei der Dekla der Linien gehts da aber nicht um Perioden, sondern um ihre Größe.

Code:
//CCI
{//Buy/Sell when CCI >/< 0.0
double CCI = iCCI(_Symbol,_Period, InpCCIPeriod, CCI_Price, 1);
double IL1 = iCCI(_Symbol,_Period, indicator_level1, CCI_Price, 1);//-100
double IL2 = iCCI(_Symbol,_Period, indicator_level2, CCI_Price, 1);//+100
@MA-EA:
Was du dann schreibst ist dann aber kein mql4 mehr. Lass Dir mal im Journal die Werte von IL1 und IL2 anzeigen.
Das geht mit:

Code:
Print ("IL1:",IL1, " / IL2:",IL2);
Du wirst feststellen, dass IL1 immer 0 ist und sich nie ändert!!!
Kann auch nicht, weil -100 Perioden vorwärts denken kann der CCI nicht weil er da noch keinen Kurs hat :-).

Falls Du dann doch mql4 Code schreiben solltest findest Du die Definition des iCCI in der Referenz:

double iCCI(
string symbol, // symbol
int timeframe, // timeframe
int period, // averaging period
int applied_price, // applied price
int shift // shift
);
Die Funktion iCCI benötigt genau diese 5 Parameter um ein Ergebnis zu liefern.
Oder an welcher Stelle meinst Du der Funktion iCCI mitzuteilen über wieviele Perioden sie berechnet werden soll?
Mit iCCI deklariest Du keine Linien sondern den Wert des iCCI im angegebenen Bar(shift).
Und ob der iCCI <>100/-100 ist prüfst Du dann mit einem Vergleich
iCCI()>100 oder iCCI<-100.