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

@MA_EA
Nur weil beim Compilieren kein Fehler auftritt muss die Programmlogik ja nicht richtig sein.
Warum hängst Du dann eigentlich den CCI Indikator an wenn Du den gar nicht brauchst. Dir ist glaube ich das Prinzip noch nicht ganz klar.
Noch mal langsam:
Du legst in Zeile 36-38 folgende Variablen fest:

extern int InpCCIPeriod = 14;
extern double indicator_level1 = -100.0;
extern double indicator_level2 = 100.0;

Dann bestimmst Du in Zeile 63-65 den CCI für drei verschiedene Perioden

double CCI = iCCI(_Symbol,_Period, InpCCIPeriod, CCI_Price, 1);// CCIPeriod?
double IL1 = iCCI(_Symbol,_Period, indicator_level1, CCI_Price, 1);//-100
double IL2 = iCCI(_Symbol,_Period, indicator_level2, CCI_Price, 1);//+100

CCI ergibt laut festgelegter Variablen den Wert für vergangene 14 Perioden

IL1 ergibt den Wert des CCI für -100 Perioden (Du schaust also theoretisch in die Zukunft

LL2 ergibt den Wert des CCI für vergangene 100 Perioden.

Was soll da jetzt vernünftiges an Ergebnis in den Programmzeilen 103 und 104 herauskommen.

CCI>IL2 wenn der CCI(14Perioden) größer ist als der CCI(100) Perioden
CCI<IL2 wenn der CCI(14Perioden) kleiner ist als der CCI(nächste 100 Perioden, die es vom Kursverlauf noch gar nicht gibt) - Spätestens hier wird ein Logikfehler auftreten.

Abgesehen davon müssen IL1 und IL2 vom Datentyp Integer sein wenn Du sie für Perioden einsetzt, double dürfte bei der Programmausführung auch nen Fehler geben.

Hoffe, du verstehst wenigstens ein bischen von dem, was ich Dir versucht habe zu erklären.