Помогите сделать советник

 
добрый день. 

никак не могу разобраться, как сделать советник и проверить его на истории. очень нужна ваша помощь. 

идея в следующем: 

когда цена уходит на определенное количество пунктов от SMA/EMA ожидается разворот. как сделать советник, который будет ставить отложенные ордера на данных уровнях со SL и TP.   

 


 
Артур Белоусов:
добрый день. 

никак не могу разобраться, как сделать советник и проверить его на истории. очень нужна ваша помощь. 

идея в следующем: 

когда цена уходит на определенное количество пунктов от SMA/EMA ожидается разворот. как сделать советник, который будет ставить отложенные ордера на данных уровнях со SL и TP.   

 


Фриланс.
 
Артур Белоусов:
добрый день. 

никак не могу разобраться, как сделать советник и проверить его на истории. очень нужна ваша помощь. 

идея в следующем: 

когда цена уходит на определенное количество пунктов от SMA/EMA ожидается разворот. как сделать советник, который будет ставить отложенные ордера на данных уровнях со SL и TP.   

 


Здесь есть куча статей, о том как написать советник. Например https://www.mql5.com/ru/articles/1510

Также есть кодобаза. Можно прямо от туда качать код, учиться по нему и переделывать под себя. 

Пример создания эксперта
Пример создания эксперта
  • 2005.12.21
  • MetaQuotes Software Corp.
  • www.mql5.com
Принципы построения пользовательских программ на языке MQL 4 рассматриваются на примере создания простейшей экспертной системы на основе стандартного индикатора MACD.
 
Подскажите я снял сервер vps установил MT4 и всё заработало нормально но в выходные дни (суббота,воскресенье) у меня на MT4 начал отклучатся интернет на все выходные. Я спрашивал у админов сервера которого снимаю они говорят не каких отключений не было может надо что-то в настройках MT4 поменять?некто с таким не сталкивался? что делать?((
 
aleksandr1989 петрунин:
Подскажите я снял сервер vps установил MT4 и всё заработало нормально но в выходные дни (суббота,воскресенье) у меня на MT4 начал отклучатся интернет на все выходные. Я спрашивал у админов сервера которого снимаю они говорят не каких отключений не было может надо что-то в настройках MT4 поменять?некто с таким не сталкивался? что делать?((
А зачем МТ4 интернет в выходные,  рынок же не работает.
 
khorosh:
А зачем МТ4 интернет в выходные,  рынок же не работает.

Зря ты брат так) а Коины как тогда торговать в субботу и воскресенье)
 
khorosh:
А зачем МТ4 интернет в выходные,  рынок же не работает.

в том то и проблема что после выходных MT4 не устанавливает с интернетом связь и преходится её перезапускать а мне нельзя его выключать и включать заново.
 

ну приблезительно так наверное если я вас понял....набросочек на скорую руку...а там дальше думайте ....


input int period_ma = 50;

int ma;
double ma_mass[];

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

ma = iMA(_Symbol,_Period,period_ma,0,MODE_EMA,PRICE_CLOSE);
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
IndicatorRelease(ma);
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   MqlTradeRequest req={0};   
   MqlTradeResult res;
   MqlTick price;
   
   ArraySetAsSeries(ma_mass, true);
   
   CopyBuffer(ma,0,0,1,ma_mass);
   
   SymbolInfoTick(_Symbol,price);
   
   if(price.bid > ma_mass[0])
      {
      if(price.bid - ma_mass[0] > 500)
         {
         req.action = TRADE_ACTION_DEAL;                                 
         req.price = price.bid;           
         req.sl = price.ask + 0.00100; 
         req.tp = price.ask - 0.00300; 
         req.symbol = _Symbol;                                            
         req.volume = 0.1;                                                
         req.type = ORDER_TYPE_SELL;                                      
         req.type_filling = ORDER_FILLING_FOK;                            
         req.deviation=100;                                               
      
         OrderSend(req,res);
         return;
         }
         }
         
   if(price.ask < ma_mass[0])
      {
      if(ma_mass[0] - price.ask > 500)
         {
         req.action = TRADE_ACTION_DEAL;                                 
         req.price = price.ask;           
         req.sl = price.bid - 0.00100; 
         req.tp = price.bid + 0.00300; 
         req.symbol = _Symbol;                                            
         req.volume = 0.1;                                                
         req.type = ORDER_TYPE_BUY;                                      
         req.type_filling = ORDER_FILLING_FOK;                            
         req.deviation=100;                                               
      
         OrderSend(req,res);
         return;
         }
         }
         
   
   
 

ну и конешо не забываем проверять на наличие открытых поз, или будет открывать с каждым тиком и позиция очень скоро станет супермегаогромной)

if(PositionTotal>0)

return; //труляя, труляя, мы везем с собой кота

 
Идея сливная, проверено
 
Vova08:
Идея сливная, проверено


Согласен! Каждый раз эти отклонения будут новыми. Даже если делать оптимизацию, то это не поможет.

Причина обращения: