Re: ¿Añadir filtro horario a un Expert Advisor?
Re: ¿Añadir filtro horario a un Expert Advisor?
Re: ¿Añadir filtro horario a un Expert Advisor?
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!
Re: ¿Añadir filtro horario a un Expert Advisor?
Re: ¿Añadir filtro horario a un Expert Advisor?
Re: ¿Añadir filtro horario a un Expert Advisor?
Hola, si se trata de un EA simple donde hay unas condiciones de entrada y salida y poco más, puedes incluir junto a las condiciones de entrada (compra y venta) otro condicionante con la hora mayor a "X" y menor a "Y".
Ejemplo:
if ("condiciones de compra de tu robot") && (Hour()>X) && (Hour()