Попытка написать советник, который будет работать на H1, на GBPUSD. В момент закрытия 7:00 по Гринвичу отложенный ордер на покупку будет на 10 пунктов выше максимума свечи в 7 часов утра, а отложенный ордер на продажу - на 10 пунктов ниже минимума свечи 7 утра. Немедленно любой из ордеров активируется, другой закрывается, и затем торговля переходит к TP или SL. Но моя проблема в том, что код не работает.
//+------------------------------------------------------------------+
//| FirstEa.mq4 |
//| Harry |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Harry"
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int res;
double HighCandle = High[1];
double LowCandle = Low[1];
input int pips = 20;
input int hour1 = 1;
input int hour2 = 23;
double pricebuy = HighCandle+10.00;
double tpbuy = pricebuy+pips;
double pricesell = LowCandle-10.00;
double tpsell = pricesell-pips;
void OpenSell()
{
//res = OrderSend(Symbol(),OP_SELL,0.1,Bid,2,HighCandle,target);
res = OrderSend(Symbol(),OP_SELLSTOP,0.1,pricesell,2,pricebuy,tpsell, "", 0, 120, clrRed);
return;
}
void OpenBuy()
{
//res = OrderSend(Symbol(),OP_BUY,0.1,Ask,2,LowCandle,(Ask+20.00),Blue);
res = OrderSend(Symbol(),OP_BUYSTOP,0.1,pricebuy,2,pricesell,tpbuy, "", 0, 120, clrBlue);
return;
}
void OnTick()
{
//--- create timer
if(_Symbol != "GBPUSD")
{
Print("This EA only works on EURUSD and GBPUSD");
return(INIT_FAILED);
}
else if(_Period != PERIOD_H1)
{
Print("This EA only works on H1 chart");
return(INIT_FAILED);
}
else if (OrdersTotal() <= 0 && Hour()>hour1 && Hour()<hour2)
{
// Opening PENDING BUY ORDER
OpenBuy();
OpenSell();
}
} ```