How can get trade session time correctly by code

 

I tried to get trading session by following codes

but something wrong ,I not get correct trade session.

example ,current is london session in my local

but not get that value in codes

can someone fix this issue .I need help

I want to close trade in asian time and open trade london and us time

#import "Kernel32.dll"
void GetSystemTime(int& a0[]);
#import

extern string _6 = "— Trading Hours —";
extern bool AutoGMTOffset = TRUE;
extern double ManualGMTOffset = 0;
extern bool UseTradingHours = true;
extern bool TradeAsianMarket = true;
extern double StartTime1 = 22.00;
extern double EndTime1 = 07.00;
extern bool TradeEuropeanMarket = true;
extern double StartTime2 = 07.00;
extern double EndTime2 = 12.00;
extern bool TradeNewYorkMarket = true;
extern double StartTime3 = 12.00; // 8:00 EST
extern double EndTime3 = 17.00;
int gmtoffset;
string gs_548 = "";

extern string _7 = "— Trading Days —";
extern bool Sunday = true;
extern bool Monday = true;
extern bool Tuesday = true;
extern bool Wednesday = true;
extern bool Thursday = true;
extern bool Friday = true;
extern bool NFP_Friday = true;
extern bool NFP_ThursdayBefore = true;
extern bool ChristmasHolidays = true;
extern double XMAS_DayBeginBreak = 15;
extern bool NewYearsHolidays = true;
extern double NewYears_DayEndBreak = 3;
//+------------------------------------------------------------------
int TradeTime()
  {
   if(!IsTesting() && AutoGMTOffset == TRUE)
      gmtoffset =  TimeGMTOffset();
   else
      gmtoffset = ManualGMTOffset;
   int TradingTime = 0;
   int CurrentHour = Hour(); // Server time in hours
   double CurrentMinute = Minute(); // Server time in minutes
   double CurrentTime = CurrentHour + CurrentMinute ; // Current time
   double CurrentTime1 = MathRound((CurrentTime + gmtoffset) / 1000);
   Print("Current time " + CurrentTime1 + "");
   
   if(CurrentTime1 == 0)
      CurrentTime = 00;
   if(CurrentTime1 < 0)
      CurrentTime1 = CurrentTime1 + 24;
      Print("Current time less than 0 is " + CurrentTime1+"");
   if(CurrentTime1 >= 24)
      CurrentTime1 = CurrentTime1 - 24;
       Print("Current time more than 0 is " + CurrentTime1+"");
   if(!DaytoTrade())
      return(false);
   if(UseTradingHours == true)
     {
      if(TradeAsianMarket == true)
        {
         if(StartTime1 < EndTime1)
           {
            if(CurrentTime1 >= StartTime1 && CurrentTime1 <= EndTime1)
               TradingTime = 1;
           }
         if(StartTime1 > EndTime1)
           {
            if(CurrentTime1 >= StartTime1 || CurrentTime1 <= EndTime1)
               TradingTime = 1;
           }
        }
      if(TradeEuropeanMarket == true)
        {
         if(StartTime2 < EndTime2)
           {
            if(CurrentTime1 >= StartTime2 && CurrentTime1 <= EndTime2)
               TradingTime = 1;
           }
         if(StartTime2 > EndTime2)
           {
            if(CurrentTime1 >= StartTime2 || CurrentTime1 <= EndTime2)
               TradingTime = 1;
           }
        }
      if(TradeNewYorkMarket == true)
        {
         if(StartTime3 < EndTime3)
           {
            if(CurrentTime1 >= StartTime3 && CurrentTime1 <= EndTime3)
               TradingTime = 1;
           }
         if(StartTime3 > EndTime3)
           {
            if(CurrentTime1 >= StartTime3 || CurrentTime1 <= EndTime3)
               TradingTime = 1;
           }
        }
     }
   else
      TradingTime = 1;
   return(TradingTime);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool DaytoTrade()
  {
   bool daytotrade = false;
   if(DayOfWeek() == 0 && Sunday)
      daytotrade = true;
   if(DayOfWeek() == 1 && Monday)
      daytotrade = true;
   if(DayOfWeek() == 2 && Tuesday)
      daytotrade = true;
   if(DayOfWeek() == 3 && Wednesday)
      daytotrade = true;
   if(DayOfWeek() == 4 && Thursday)
      daytotrade = true;
   if(DayOfWeek() == 5 && Friday)
      daytotrade = true;
   if(DayOfWeek() == 5 && Day() < 8 && !NFP_Friday)
      daytotrade = false;
   if(DayOfWeek() == 4 && Day() < 8 && !NFP_ThursdayBefore)
      daytotrade = false;
   if(Month() == 12 && Day() > XMAS_DayBeginBreak && !ChristmasHolidays)
      daytotrade = false;
   if(Month() == 1 && Day() < NewYears_DayEndBreak && ! NewYearsHolidays)
      daytotrade = false;
   return(daytotrade);
  }
//+------------------------------------------------------------------+