How to code alert to popup or alert just once for each time it triggers?

 
Hi,

I have coded an indicator.. all looks great... but having issues with the alert.. once it triggers, the alert keep on popping up and sounding up... how do i set or code it in a way to make it just popup once and sound once for each time it triggers?

here's the code rules that trigger the alert.

  {
   int i=0,j=0;
   ArrayResize(mess_data,NumPair+1,20);
   ArrayResize(mess_color,NumPair+1,20);
//---
   for(int k=0;k<NumPair;k++)
     {
      for(j=0;j<tf_desk;j++)
        {
         double MAL=iMA(pair[k],Trend_Timeframe[j],mal_period,mal_shift,mal_method,mal_price,0);
         if(iHigh(pair[k],Trend_Timeframe[j],0)>=MAL &&
         iOpen(pair[k],Trend_Timeframe[j],0)<=MAL &&
         iClose(pair[k],Trend_Timeframe[j],0)<=MAL &&
         iLow(pair[k],Trend_Timeframe[j],0)<=MAL)
        {mess_data[k][j]="D";mess_color[k][j]=clrRed;
         if(k>0 && use_alert)
         Alert(pair[k]," ",Trend_Timeframe[j]," ",down_alert);}
         if(iHigh(pair[k],Trend_Timeframe[j],0)>=MAL &&
         iOpen(pair[k],Trend_Timeframe[j],0)>=MAL &&
         iClose(pair[k],Trend_Timeframe[j],0)>=MAL &&
         iLow(pair[k],Trend_Timeframe[j],0)<=MAL)
        {mess_data[k][j]="U";mess_color[k][j]=clrLime;
         if(k>0 && use_alert)
         Alert(pair[k]," ",Trend_Timeframe[j]," ",up_alert);}
         else {mess_data[k][j]="X";mess_color[k][j]=clrGray;}
        }
     }
  }
Reason: