Ob das so funktioniert? Oder braucht man unbedingt ne Schleife? Da käme dann eigentlich nur die while-Schleife in Frage. Aber die bleibt ja gerne mal hängen so viel ich weiß...
1. Die Kerze des CCI deklarieren, die geprüft werden soll.
Code:
int CCI_il_1or2_Bar = 1;
2. Nen CCI deklarieren, der nur für diesen Check benutzt wird.
Die Kerze entspricht der oben fest gelegten.
Code:
double CCI_il_1or2=iCCI(Symbol(),Timeframe,CCI_Period,CCI_Price,CCI_il_1or2_Bar);
3. Wenn die jeweilige CCI-Kerze zwischen IL1 und IL2 ist,
soll die zu
prüfende Kerze erhöht werden.
Code:
if ( CCI_il_1or2 > CCI_indicator_level_1 || CCI_il_1or2 < CCI_indicator_level_2 ) {
CCI_il_1or2_Bar++;
4. Wenn dann irgendwann die jeweilige Kerze nicht mehr zwischen IL1 und IL2, sonder über oder unter Beiden ist,
soll ihr Wert mit return zurück gegeben werden.
Code:
if ( CCI_il_1or2 < CCI_indicator_level_1 || CCI_il_1or2 > CCI_indicator_level_2 ) return(CCI_il_1or2); }
Je nach dem, ob der Wert größer/kleiner als IL1/IL2 ist, kann dann nen Buy/Sell geöffnet werden.
Immerhin gibts beim Kompilieren keine Fehlermeldung.
Edit:While-Schleifen hängen ja gerne mal, soviel ich weiß.
Könnte man das Ganze vielleicht irgendwie mit ner for-Schleife bewerkstelligen?