Переписать 4 индикаторов с МТ4 на МТ5

MQL5 转化中 自定义图形

工作已完成

执行时间104 天

指定

Есть 4 индикатора с открытым кодом на mql4 нужно переписать на mql5. 

Переписывать весь код индикатора конечно не нужно. Всю работу можно решить небольшими правками в коде с массивами и подключением  mql4_to_mql5 библиотеки. 


Два индикатора ищат дивергенции. Один на Макде, другой на Осме. Очень похожи друг на друга. (Есть графика: линии дивергенций рисуются линиями)

Еще один делает несложныые операции с мувингами (код ниже)

Еще один осцилятор вроде стохастика. (код большой, но логика простая)

Открытый код высылаю в личку тем кто отзовется. 


В ответ, пожалуйста, укажите стоимость и сроки работы. 


Результатом работы являются 4 файла mql5, которые дают те же показания как в МТ4. 




Пример одного из индикаторов

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Yellow
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Lime
//---- Внешние параметры ---------------------------------------------
extern int EMAPeriod =34;  // Период ЕМА
extern int LSMAPeriod=25;  // Период LSMA
//---- Буферы индикатора ---------------------------------------------
double LineHighEMA[];
double LineLowEMA[];
double LSMABuffer1[];
double LSMABuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
  void init() 
  {
   IndicatorDigits(2);
   SetIndexStyle (0, DRAW_LINE, STYLE_SOLID, 3);
   SetIndexBuffer(0, LineHighEMA);
   SetIndexStyle (1, DRAW_LINE, STYLE_SOLID, 3);
   SetIndexBuffer(1, LineLowEMA);
   SetIndexBuffer(2, LSMABuffer1);
   SetIndexStyle (2, DRAW_LINE, STYLE_SOLID, 3);
   SetIndexBuffer(3, LSMABuffer2);
   SetIndexStyle (3, DRAW_LINE, STYLE_SOLID, 3);
   Comment("");
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
  void deinit() 
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
  int start() 
  {
   int i, shift, counted_bars=IndicatorCounted();
   int Draw4HowLong, loopbegin;
   double sum, lengthvar, tmp, wt;
//----
   if (counted_bars<0) return;
   if (counted_bars>0) counted_bars--;
   counted_bars=Bars - counted_bars;
     for(shift=0; shift<counted_bars; shift++) 
     {
      LineLowEMA[shift]=-1;
      LineHighEMA[shift]=-1;
//----
      double EmaValue=iMA(NULL, 0, EMAPeriod, 0, MODE_EMA, PRICE_TYPICAL, shift);
      if (Close[shift] > EmaValue) LineHighEMA[shift]=EMPTY_VALUE;
      else
         if (Close[shift] < EmaValue) LineLowEMA[shift]=EMPTY_VALUE;
     }
   Draw4HowLong=Bars-LSMAPeriod - 5;
   loopbegin=Draw4HowLong - LSMAPeriod - 1;
//----
     for(shift=loopbegin; shift>=0; shift--) 
     {
      sum=0;
        for(i=LSMAPeriod; i>=1; i--) 
        {
         lengthvar=LSMAPeriod + 1;
         lengthvar/=3;
         tmp=0;
         tmp=(i - lengthvar)*Close[LSMAPeriod-i+shift];
         sum+=tmp;
        }
      wt=sum*6/(LSMAPeriod*(LSMAPeriod+1));
//----
      LSMABuffer1[shift]=1;
      LSMABuffer2[shift]=1;
//----
      if (wt > Close[shift]) LSMABuffer2[shift]=EMPTY_VALUE;
      else
         if (wt < Close[shift]) LSMABuffer1[shift]=EMPTY_VALUE;
     }
  }


反馈

1
开发者 1
等级
(50)
项目
94
29%
仲裁
3
33% / 0%
逾期
4
4%
空闲
2
开发者 2
等级
(279)
项目
650
28%
仲裁
111
19% / 61%
逾期
319
49%
工作中
3
开发者 3
等级
(355)
项目
588
70%
仲裁
14
43% / 7%
逾期
28
5%
空闲
4
开发者 4
等级
(229)
项目
339
49%
仲裁
21
5% / 33%
逾期
24
7%
空闲
5
开发者 5
等级
(99)
项目
152
32%
仲裁
22
23% / 55%
逾期
3
2%
工作中
6
开发者 6
等级
(66)
项目
143
34%
仲裁
11
9% / 55%
逾期
26
18%
工作中
7
开发者 7
等级
(106)
项目
189
46%
仲裁
34
24% / 41%
逾期
58
31%
空闲
相似订单
1) Необходимо полностью изучить алгоритм работы индикатора. У индикатора есть логика каким образом видит свечи на графике и принимает решения отправлять уведомления или нет. На основании этого и нужна отталкиваться, чтобы решить Т3. 2) НЕОБХОДИМО СДЕЛАТЬ ТАКИМ ОБРАЗОМ, ЧТОБЫ СУЩЕСТВУЮЩИЙ ИНДИКАТОР ВЫДАВАЛ СИГНАЛ НА 3 СВЕЧУ КАК В ОРИГИНАЛЕ, ЕДИНСТВЕННОЕ НУЖНА ИЗМЕНИТЬ ИНДИКАТОР ТАКИМ ОБРАЗОМ, ЧТОБЫ ИНДИКАТОР ОПЕРЕДИЛ
У меня не сложная задача! Мне нужна исправить ошибку в индикаторе, чтобы после появления стрелки индикатора в терминале мт4 приходило уведомление Алерта в направления стрелки до начала открытие новой свечи за 10 секунд. Ошибку этого индикатора надо исправить таким образом, чтобы приходила уведомления не на открытие третьей свечи, а-на открытие второй свечи за 10 секунд до открытия

项目信息

预算
30 - 100 USD
开发人员
27 - 90 USD
截止日期
 5 天