vadimltd
Вадим

 
Уровень 8

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2086



РЕКОМЕНДУЮ



Переделать индикатор MT4 на MT5

Всем здравствуйте. Очередная задачка. Нужно переделать индикатор с платформы MT4 на платформу MT5. Оставить весь функционал индикатора.
MA_BBands_V4.2.mq4 (8 Kb)
  • 0
  • Просмотров: 1794
  • 6 июля 2022, 08:22
  • vadimltd
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка индюка спустя 3 года
Следующая запись в группе  
Доработка индикатора / Попытка 2
05 июля 2022
06 июля 2022

Комментарии (19)

+
0
у вас есть в этом месяце один заказ
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 6 июля 2022, 17:42
+
0
Очень жаль, индикатор заслуживает внимания, но почему нет версии для mt5? непонятно.
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 6 июля 2022, 19:04
+
0
Очень жаль, индикатор заслуживает внимания


Если MoveShift больше нуля, то индикатор жутко перерисовывается.
avatar

  19  alex30774 Сообщений: 715

  • 6 июля 2022, 19:53
+
0
Одни перерисовывают, другие врут. Кто лучше?
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 7 июля 2022, 12:45
+
0
Вы не поверите. Индикаторы не помогут вам торговать:D 
avatar

  10  njdftgh Сообщений: 208 - Shoom

  • 8 июля 2022, 06:17
+
0
переписал больше половины кода. если найдете поручителя завтра буду дальше смотреть:






//+------------------------------------------------------------------+
//|                                                      MABands.mq5 |
//|                                              Copyright 2022, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

#property indicator_buffers 5

#property indicator_plots 5

#property indicator_width1     2
#property indicator_color1     clrWhite
#property indicator_type1      DRAW_LINE
#property indicator_style1     STYLE_SOLID

#property indicator_width2     2
#property indicator_color2     clrWhite
#property indicator_type2      DRAW_LINE
#property indicator_style2     STYLE_SOLID

input int MAShift   = 0;
input int MAPeriod  = 9;
input int OsMA      = 3;
input int Dist2     = 20;

//-------------------------

input double Std    = 0.4;
input int BBPeriod  = 20;

int mah=0,mal=0,bbh=0;
double up[],dn[],maup[],madn[],bbup[],bbdn[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up,INDICATOR_DATA);
   SetIndexBuffer(1,dn,INDICATOR_DATA);
   SetIndexBuffer(2,maup,INDICATOR_CALCULATIONS);
   SetIndexBuffer(3,madn,INDICATOR_CALCULATIONS);
   SetIndexBuffer(4,bbup,INDICATOR_CALCULATIONS);
   SetIndexBuffer(5,bbdn,INDICATOR_CALCULATIONS);

   ArraySetAsSeries(up,true);
   ArraySetAsSeries(dn,true);
   ArraySetAsSeries(maup,true);
   ArraySetAsSeries(madn,true);
   ArraySetAsSeries(bbup,true);
   ArraySetAsSeries(bbdn,true);

   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
   PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);

   mah=iMA(NULL,0,MAPeriod,MAShift,MODE_SMA,PRICE_HIGH);
   mal=iMA(NULL,0,MAPeriod,MAShift,MODE_SMA,PRICE_LOW);
   bbh=iBands(NULL,0,BBPeriod,MAShift,Std,PRICE_CLOSE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   CopyBuffer(mah,0,0,333,maup);
   CopyBuffer(mal,0,0,333,madn);
   CopyBuffer(bbh,1,0,333,bbup);
   CopyBuffer(bbh,2,0,333,bbdn);

   for(int i=333; i>0; i--)
     {
      if(maup[i]>bbup[i])
        {
         up[i]=maup[i]+Dist2*_Point;
        }

      if(maup[i]<bbup[i])
        {
         up[i]=bbup[i];
        }

      if(madn[i]>0)
        {
         if(madn[i]<bbdn[i])
           {
            dn[i]=madn[i]-Dist2*_Point;
           }

         if(madn[i]>bbdn[i])
           {
            dn[i]=bbdn[i];
           }
        }

     }

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+


avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 6 июля 2022, 20:33
+
0
Хорошо, я буду поручителем.
Все-равно идей пока на тот месяц нет.
avatar

  11  apologetest Сообщений: 284 - Юрий

  • 7 июля 2022, 14:47
+
0
НУЖЕН ПОРУЧИТЕЛЬ!!!
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 7 июля 2022, 12:46
+
0
Отлично! Андрей, ещё просьба. Пропишите здесь в комментариях, часть кода для снятия сигналов с этого индикатора. Хочу попробовать поставить в какой-нибудь советник с этого сайта. А то сам буду долго искать решение для MT5.
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 7 июля 2022, 16:37
+
0
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 7 июля 2022, 21:29
+
0
Спасибо!
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 7 июля 2022, 22:11
+
0
стрелки с индикатора mt4 и mt5 не одинаковые. Где-то есть не соответствие!!!
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 7 июля 2022, 23:33
+
0
Минус этого индикатора в том что на статической истории на графике он показывает одно. Ставишь индюк в тестер, картинка другая. Либо когда индикатор долго стоит на графике, обновляем его и вуаля, границы канала становятся другими.
avatar

  10  njdftgh Сообщений: 208 - Shoom

  • 8 июля 2022, 06:14
+
0
Кроме прочего нужно проверить параметры и настройки обоих вариантов, а главное у МТ4 и МТ5 не одинаковые архивы котировок. Незначительные, вроде, различия во времени и при вычислениях приводят к погрешностям.
И опять же: вам стрелочки или торговать?
Проверяйте численное значение индикатора, а не визуальное.Машина апеллирует числами.
avatar

  16  ssg Сообщений: 817

  • 8 июля 2022, 06:45
+
0
Это всё я понимаю, но когда в советнике меняешь свойства, а картинка всё та же, начинают терзать смутные сомнения…
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 8 июля 2022, 13:13
+
0
Это всё я понимаю, но когда в советнике меняешь свойства, а картинка всё та же, начинают терзать смутные сомнения…


сомнения пропадут, если посмотрите код где все завязано на осма с фиксированными свойствами:


      OsMA_Now = iOsMA(NULL,0,5,9,OsMA,PRICE_CLOSE,i);
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 8 июля 2022, 16:40
+
0
Тут я с вами согласен. Если меняя настройки не меняется значения индикатора, то это неверно.
Может быть есть смысл сделать два скрина с настройками и показать Андрею?
avatar

  16  ssg Сообщений: 817

  • 8 июля 2022, 16:47
+
0
Просто поменяйте значение MoveShift и всё предельно станет ясно и без скринов. Индикатор mt5 работает не идентично с его версией на mt4
avatar

  8  vadimltd Автор Сообщений: 192 - Вадим

  • 8 июля 2022, 17:53
+
0
Индикатор mt5 работает не идентично с его версией на mt4
переписал как смог. если что то не устраивает обратитесь к другому специалисту
avatar

  34  AM2 Сообщений: 15878 - Андрей

  • 8 июля 2022, 18:18

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари