0
Хм, странно. На H1 и выше работает, нет ошибок.

На М30 и ниже ошибка присутствует.
Андрей, использую на H1 и выше. Если не опускаться ниже часовика получится сделать советника?
avatar

OSS5

  • 6 ноября 2022, 19:53
0
Может этот подойдет? www.mql5.com/ru/code/40796
avatar

OSS5

  • 8 октября 2022, 06:36
+1
В строке 333 замените 0.1 на MaxLot.
avatar

OSS5

  • 15 сентября 2022, 19:15
0
У меня после исправления всё прекрасно работает.
avatar

OSS5

  • 7 сентября 2022, 18:48
0
Замените весь онтик, начнет выставлять бай и кнопка закрыть всё тоже заработает.
void OnTick()
  {
   double Bid=SymbolInfoDouble(NULL,SYMBOL_BID);
   double Ask=SymbolInfoDouble(NULL,SYMBOL_ASK);
   double pr=0,sl=0,tp=0;

   if(Mode)
      ModeOOP();

   if(ObjectGetInteger(0,"d",OBJPROP_STATE)==1)
     {
      DelOrder();
      ObjectSetInteger(0,"d",OBJPROP_STATE,false);
     }

   if(ObjectGetInteger(0,"b",OBJPROP_STATE)==1)
     {
      pr=NormalizeDouble(Bid+Delta*_Point,_Digits);

      if(StopLoss>0)
         sl=NormalizeDouble(pr-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(pr+TakeProfit*_Point,_Digits);

      trade.BuyStop(Lots,pr,NULL,sl,tp,ORDER_TIME_SPECIFIED,TimeCurrent()+3600*Expiration,Comm);

      ObjectSetInteger(0,"b",OBJPROP_STATE,false);
     }

   if(ObjectGetInteger(0,"s",OBJPROP_STATE)==1)
     {
      pr=NormalizeDouble(Bid-Delta*_Point,_Digits);

      if(StopLoss>0)
         sl=NormalizeDouble(pr+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(pr-TakeProfit*_Point,_Digits);

      trade.SellStop(Lots,pr,NULL,sl,tp,ORDER_TIME_DAY,TimeCurrent()+3600*Expiration,Comm);

      ObjectSetInteger(0,"s",OBJPROP_STATE,false);
     }

   if(ObjectGetInteger(0,"cl",OBJPROP_STATE)==1)
     {
      CloseAll();
      ObjectSetInteger(0,"cl",OBJPROP_STATE,false);
     }

   if(ObjectGetInteger(0,"by",OBJPROP_STATE)==1)
     {
      pr=NormalizeDouble(Ask,_Digits);

      if(StopLoss>0)
         sl=NormalizeDouble(pr-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(pr+TakeProfit*_Point,_Digits);

      trade.Buy(Lots,NULL,pr,sl,tp,Comm);

      ObjectSetInteger(0,"by",OBJPROP_STATE,false);
     }

   if(ObjectGetInteger(0,"se",OBJPROP_STATE)==1)
     {
      pr=NormalizeDouble(Bid,_Digits);

      if(StopLoss>0)
         sl=NormalizeDouble(pr+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(pr-TakeProfit*_Point,_Digits);

      trade.Sell(Lots,NULL,pr,sl,tp,Comm);

      ObjectSetInteger(0,"se",OBJPROP_STATE,false);
     }
  }
avatar

OSS5

  • 7 сентября 2022, 14:23
0
Большое спасибо.
avatar

OSS5

  • 7 сентября 2022, 04:42
0
Хорошо.
avatar

OSS5

  • 6 сентября 2022, 10:23
0
Понятно, жаль конечно.
avatar

OSS5

  • 27 августа 2022, 13:50
0
Как насчет моего исполнения заказа?
avatar

OSS5

  • 27 августа 2022, 03:39
0
Да не могу никак подобрать нужные настройки, поэтому и прошу добавить мтф.
Хоть в индикатор «TMA centered bands arr (MT5)» сделать мтф, или индикатор «TriangularMA centered asymmetric bands nmc.mq4» переписать под мт5. Как вам проще сделать. Любой исход устроит.
avatar

OSS5

  • 26 августа 2022, 02:48
0
А я не просто так попросил добавить мтф, простым умножением не отделаться.
.
И скрин прикрепил в начале как выглядит на мт4.
avatar

OSS5

  • 25 августа 2022, 19:44
0
Эх, ещё бы разделение по символу и по маджику, вообще классно было бы.
avatar

OSS5

  • 29 июня 2022, 13:59
0
Великолепно пашет. Спасибо Андрей.
avatar

OSS5

  • 22 июня 2022, 04:15
0
УРА! *lalala*  Заработала ползучка правильно. *drinks*  Уважуха Вам. *hi* 
avatar

OSS5

  • 8 апреля 2022, 11:45
0
Андрей и все-таки не ползает как надо
avatar

OSS5

  • 8 апреля 2022, 07:11
0
Пробовал.
Применив настройки которые на скрине, эксперт шагает не правильно.
Применив другие настройки, также шагает не правильно

все-таки есть косячок в коде.
avatar

OSS5

  • 8 апреля 2022, 06:30