Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 29.04.15
Biatsch Biatsch ist offline
Mitglied
 
Registriert seit: Oct 2011
Beiträge: 77
Biatsch befindet sich auf einem aufstrebenden Ast
Standard

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.