29.04.15
|
Mitglied
|
|
Registriert seit: Oct 2011
Beiträge: 77
|
|
Dies ist meine gedachte Änderung, also die Einführung der globalen Variable counterUP, aber das führt dazu, dass die "falschen" Pfeile behalten werden und die "richtigen" verschwinden.
Code:
void PlaceArrowUp(int i){
if(counterUP == 0){ // NEU
if( (Open[i] > iMA(NULL,0,21,MA_Shift,MODE_SMA,PRICE_CLOSE,i))
&& (Open[i+1] < iMA(NULL,0,21,MA_Shift,MODE_SMA,PRICE_CLOSE,i+1))
&& (Close[i+1] > iMA(NULL,0,21,MA_Shift,MODE_SMA,PRICE_CLOSE,i+1)) ){
for(int k=1;k<=26;k++){
if( Low[i+k] < (iMA(NULL,0,21,MA_Shift,MODE_SMA,PRICE_CLOSE,i+k)-0.02) ){
x++;
ObjectCreate("BUY" + x,OBJ_ARROW,0,Time[i],Low[MinClose]);
ObjectSet ("BUY" + x,OBJPROP_COLOR,Blue);
ObjectSet ("BUY" + x,OBJPROP_ARROWCODE,SYMBOL_ARROWUP);
ObjectSet ("BUY" + x,OBJPROP_WIDTH,5);
ObjectSet ("BUY" + x,OBJPROP_BACK,true);
counterUP = 1; // NEU
break;
}
}
}
}
}
In die Main-Funktion habe ich dann die Folgende Bedingung implementiert, die counterUP wieder auf 0 setzen soll:
Code:
if(Low[i] < Lower_Band[i]) {counterUP = 0;}
Mir würde zu sehr interessieren, was da falsch läuft.
|