Alert happening every 15mins

 

I have a chart with this code on it.

However, when I am on the 15min chart, it alerts me every 15mins instead of just the once per day that it is supposed to.

Any ideas how I can get around the Time[0] variable?


   //------------------------------------------------
   //any TS/KS crosses on D1 timeframe
   //------------------------------------------------
   if (iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) > iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_KIJUNSEN, 0) && //current cross
      iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 1) <= iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_KIJUNSEN, 1) && //previous
      GlobalVariableGet(Symbol()+"DailyLastAlertTime") < Time[0]    
      //v1.1.2 addition
      //&& (iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) > iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_SENKOUSPANA, 0) &&
      //    iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) > iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_SENKOUSPANB, 0)
      //   )
      )
   {
      if (SoundAlerts) Alert ("TS crossed KS upwards on+ "+Symbol() + " DAILY");
      GlobalVariableSet(Symbol()+"DailyLastAlertTime", Time[0]);
      string AlertText = "UP on DAILY";
      color AlertColour = Green;
      string localT = "("+TimeToStr(TimeCurrent(),TIME_SECONDS )+")";
      var_offs = -10;
      ObjectSet("signal"+x+4,OBJPROP_XDISTANCE,x*scaleX+offsetX+var_offs);
      ObjectSetText("signal"+x+"4",AlertText + " " + localT,8,"Tahoma",AlertColour);
   }
   if (iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) < iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_KIJUNSEN, 0) && //current cross
      iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 1) >= iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_KIJUNSEN, 1) && //previous
      GlobalVariableGet(Symbol()+"DailyLastAlertTime") < Time[0]
      //v1.1.2 addition
      //&& (iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) < iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_SENKOUSPANA, 0) &&
      //    iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_TENKANSEN, 0) < iIchimoku(Symbol(), PERIOD_D1, 9, 26, 52, MODE_SENKOUSPANB, 0)
      //   )      
      )

   {
      if (SoundAlerts) Alert ("TS crossed KS downwards on+ "+Symbol() + " DAILY");
      GlobalVariableSet(Symbol()+"DailyLastAlertTime", Time[0]);
      AlertText = "DOWN on DAILY";
      AlertColour = Red;
      localT = "("+TimeToStr(TimeCurrent(),TIME_SECONDS )+")";
      var_offs = -29;
      ObjectSet("signal"+x+4,OBJPROP_XDISTANCE,x*scaleX+offsetX+var_offs);
      ObjectSetText("signal"+x+"4",AlertText + " " + localT,8,"Tahoma",AlertColour);
   }
 
anyone?
 

I think you should replace Time[0] with iTime(NULL,PERIOD_D1,0)

 

San Miguel, I suggest you search the forum. This is one question that gets asked VERY regularly indeed. Possibly every day.


CB

 
cloudbreaker:

San Miguel, I suggest you search the forum. This is one question that gets asked VERY regularly indeed. Possibly every day.


CB

I did and used the linked posts at the bottom.

I can't use a flag as I would have to run a routine to reset the flags at the beginning of every 5min session, 15min, 30, 1, 4, Daily - I use a multi timeframe alarm even for when I am viewing a different chart. It just seems that Time[0] only checks the current chart. I have tried the iTime above so will see if that works.

Reason: