Hola Arrufat, He encontrado esto, a ver si te sirve: #import "Kernel32.dll" void GetSystemTime(int& a0[]); 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 = ""; if (!IsTesting() && AutoGMTOffset == TRUE) gmtoffset = GMTOffset(); else gmtoffset = ManualGMTOffset; string ls_52 = "Your Strategy is Running."; string ls_60 = "Your Strategy is set up for time zone GMT " + gmtoffset; string ls_76 = "Account Balance= " + DoubleToStr(AccountBalance(), 2); string ls_84 = " "; Comment("\n", "\n", " ", "\n", " ", "\n", " ", ls_52, "\n", " ", ls_60, "\n", " ", ls_76, // "\n", " ", ls_77, "\n"); int TradeTime() { if (!IsTesting() && AutoGMTOffset == TRUE) gmtoffset = GMTOffset(); else gmtoffset = ManualGMTOffset; int TradingTime=0; int CurrentHour=Hour(); // Server time in hours double CurrentMinute =Minute(); // Server time in minutes double CurrentTime=CurrentHour + CurrentMinute/100; // Current time double CurrentTime1 = CurrentTime + gmtoffset; if (CurrentTime1==0) CurrentTime=00; if (CurrentTime1<0) CurrentTime1 = CurrentTime1 + 24; if (CurrentTime1 >= 24) CurrentTime1 = CurrentTime1 - 24; if (!DaytoTrade()) return(false); if (UseTradingHours==true) { if (TradeAsianMarket==true) { if(StartTime1 if(CurrentTime1>=StartTime1 && CurrentTime1<=EndTime1) TradingTime=1;} if(StartTime1>EndTime1){ if(CurrentTime1>=StartTime1 || CurrentTime1<=EndTime1) TradingTime=1;} } if (TradeEuropeanMarket==true) { if(StartTime2 if(CurrentTime1>=StartTime2 && CurrentTime1<=EndTime2) TradingTime=1;} if(StartTime2>EndTime2){ if(CurrentTime1>=StartTime2 || CurrentTime1<=EndTime2) TradingTime=1;} } if (TradeNewYorkMarket==true) { if(StartTime3 if(CurrentTime1>=StartTime3 && CurrentTime1<=EndTime3) TradingTime=1;} if(StartTime3>EndTime3){ if(CurrentTime1>=StartTime3 || CurrentTime1<=EndTime3) TradingTime=1;} } } else TradingTime=1; return(TradingTime); } if (BuyCondition1 && TradeTime() ) OpenBuy=true; Si no te funciona lo vamos viendo, no he tocado mucho mql4 pero algo podremos hacer. Un saludo!