Как настроить этот советник на тестере стратегий? - PullRequest
0 голосов
/ 28 апреля 2020

Попытка написать советник, который будет работать на 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();

      }

  } ```
...