Comportamiento raro de las flechas

 

Buenas a ver si algun experto me pudiera decir porqie me esta pasando esto.

Hice un indicador y el mismo funciona bien pero en ocasiones de la nada empieza a pintarme flechas en todos lados...en vez de ensima de las barras como debe ser.


//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

  {

//---

 

   

    //informacion();

   

      double avg;

      middle = iMA(NULL, 0, periodKer, 0, MODE_SMA, PRICE_TYPICAL, 0);

      avg  = findAvg(periodKer, 0);

      upper= middle + avg;

      lower= middle - avg;

      

   

      

        

   currenttime = Time[0]; 

   //ADX=iADX(NULL,0,Periodos,PRICE_CLOSE,MODE_MAIN,0);//Creo la señal ADX

   DMas = iADX(NULL,0,Periodos,PRICE_CLOSE,MODE_PLUSDI,0);//Calculo de DIMAS

   DMenos = iADX(NULL,0,Periodos,PRICE_CLOSE,MODE_MINUSDI,0);//Calculo de DIMENOS

   KamarilloBarraActual=iStochastic(NULL,0,KperiodoAmarillo,DperiodoAmarillo,SlowingAmarillo,MODE_SMA,1,MODE_MAIN,0);

   KamarilloBarraAnterior=iStochastic(NULL,0,KperiodoAmarillo,DperiodoAmarillo,SlowingAmarillo,MODE_SMA,1,MODE_MAIN,1);

   KrojoActual=iStochastic(NULL,0,KperiodoRojo,DperiodoRojo,SlowingRojo,MODE_SMA,1,MODE_MAIN,0);


   //SMALenta = iMA(NULL,0,SMAPeriodoLento,0,1,0,0);

   //SMARapida = iMA(NULL,0,SMAPeriodoRapido,0,2,PRICE_TYPICAL,0); 

   //EmaActual = iMA(NULL, 0, periodEma, 0, MODE_SMA, PRICE_CLOSE, 0);

  // EmaAnterior = iMA(NULL, 0, periodEma, 0, MODE_SMA, PRICE_CLOSE,2);

   //Ema1 = iMA(NULL, 0, periodEma, 0, MODE_SMA, PRICE_CLOSE,1);

   //Ema2 = iMA(NULL, 0, periodEma, 0, MODE_SMA, PRICE_CLOSE, 2);

   //Ema3 = iMA(NULL, 0, periodEma, 0, MODE_SMA, PRICE_CLOSE,3);

  // EmaTendCorta = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_CLOSE, 0);

   //EmaTendGrande = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE,0);

   

   const int Timein_SECONDS = TiempoEspera*60;

  

   datetime restatiempo = TimeCurrent() - Timein_SECONDS;


 if(KamarilloBarraActual>20

 &&KamarilloBarraAnterior<20  

   && timeofOperation<restatiempo  

   &&normal

   &&DMas>DMenos

   &&KrojoActual>KamarilloBarraActual){

   


   

   


   string  message = Symbol()+", Compra A Favor";

   SendNotification(message); 

   up[1]=Low[1];//Compra Normal

   timeofOperation = TimeCurrent();

   if(currenttime != candletime)

     {

      Alert((string)Period()+"M ",Symbol(),""+" Compra A Favor"); 

      

     }

     candletime=Time[0];

   }



Lo otro que no se com hacer es que me muestre el historial pasado...es decir solo funciona desde el momento que lo pongo en lo adelante ...no me muestra el pasado.

SI algun alma de dios me pudiera ayudar con esto...

Archivos adjuntos:
Razón de la queja: