//+------------------------------------------------------------------+
//|                                        Mn Alert Round Number.mq4 |
//+------------------------------------------------------------------+
#property copyright "Mn"

#property indicator_chart_window
#property strict;

input bool ML = true ; // PopUp Alert
input bool PN = false; // Push Notifications

string TF;

int mDigFact = 0;
bool mAl1 = false, mAl2 = false, mAl3 = false, mAl4 = false; 


//+------------------------------------------------------------------+
int init()
  {
    if(Digits == 3 || Digits == 5)
      {
        mDigFact = 3;
      }   
    else 
      {
        mDigFact = 2;
      }  
      
   int Minx = Period();
   string Miny = "M";
   string Minz = IntegerToString(Period());
   
   
   if(Period() < 60)
   {
     TF = StringConcatenate(Miny, Minz);
   }
   else if(Period() == 60)
   {
     TF = "H1";
   }
   else if(Period()== 240)
   {
     TF = "H4";
   }  
   else if(Period() == 1440)
   {
     TF = "D1";
   }
   else if(Period() == 10080)
   {
     TF = "W1";
   }
   else 
   {
     TF = "MN";
   }         
     
    return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
    int mL = StringLen(DoubleToStr(Close[0] , Digits));
    int mPrice = StrToInteger(StringSubstr(DoubleToStr(Close[0] , Digits), mL - mDigFact, 2));
    
    if(mPrice >= 0 && mPrice < 01 && !mAl1)
      {
         if(PN){SendNotification("00 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
         if(ML){Alert("00 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        
        //Alert(" 00 Level ", Symbol());
        mAl1 = true; mAl2 = false; mAl3 = false; mAl4 = false;
      }
    
    if(mPrice > 24 && mPrice < 26 && !mAl2)
      {
        if(PN){SendNotification("25 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        if(ML){Alert("25 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        //Alert(" 25 Level ", Symbol());
        mAl2 = true; mAl1 = false; mAl3 = false; mAl4 = false;
      }
    
    if(mPrice > 49 && mPrice < 51 && !mAl3)
      {
        if(PN){SendNotification("50 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        if(ML){Alert("50 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        //Alert(" 50 Level ", Symbol());
        mAl3 = true; mAl1 = false; mAl2 = false; mAl4 = false;
      }
    
    if(mPrice > 74 && mPrice < 76 && !mAl4)
      {
        if(PN){SendNotification("75 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        if(ML){Alert("75 Level " + " " + Symbol()+ " - " + TF + "\n"+ TimeToStr(TimeCurrent(),TIME_SECONDS)+"  "+TimeToStr(TimeCurrent(),TIME_DATE)+"\n" + AccountServer());}
        //Alert(" 75 Level ", Symbol());
        mAl4 = true; mAl1 = false; mAl2 = false; mAl3 = false;
      }
     return(0);
  }
//+------------------------------------------------------------------+