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

Lavoro terminato

Tempo di esecuzione 104 giorni

Specifiche

Есть 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;
     }
  }


Con risposta

1
Sviluppatore 1
Valutazioni
(50)
Progetti
94
29%
Arbitraggio
3
33% / 0%
In ritardo
4
4%
Gratuito
2
Sviluppatore 2
Valutazioni
(279)
Progetti
650
28%
Arbitraggio
111
19% / 61%
In ritardo
319
49%
In elaborazione
3
Sviluppatore 3
Valutazioni
(355)
Progetti
588
70%
Arbitraggio
14
43% / 7%
In ritardo
28
5%
Gratuito
4
Sviluppatore 4
Valutazioni
(229)
Progetti
339
49%
Arbitraggio
21
5% / 33%
In ritardo
24
7%
Gratuito
5
Sviluppatore 5
Valutazioni
(99)
Progetti
152
32%
Arbitraggio
22
23% / 55%
In ritardo
3
2%
In elaborazione
6
Sviluppatore 6
Valutazioni
(66)
Progetti
143
34%
Arbitraggio
11
9% / 55%
In ritardo
26
18%
In elaborazione
7
Sviluppatore 7
Valutazioni
(106)
Progetti
189
46%
Arbitraggio
34
24% / 41%
In ritardo
58
31%
Gratuito
Ordini simili
1) Необходимо полностью изучить алгоритм работы индикатора. У индикатора есть логика каким образом видит свечи на графике и принимает решения отправлять уведомления или нет. На основании этого и нужна отталкиваться, чтобы решить Т3. 2) НЕОБХОДИМО СДЕЛАТЬ ТАКИМ ОБРАЗОМ, ЧТОБЫ СУЩЕСТВУЮЩИЙ ИНДИКАТОР ВЫДАВАЛ СИГНАЛ НА 3 СВЕЧУ КАК В ОРИГИНАЛЕ, ЕДИНСТВЕННОЕ НУЖНА ИЗМЕНИТЬ ИНДИКАТОР ТАКИМ ОБРАЗОМ, ЧТОБЫ ИНДИКАТОР ОПЕРЕДИЛ
У меня не сложная задача! Мне нужна исправить ошибку в индикаторе, чтобы после появления стрелки индикатора в терминале мт4 приходило уведомление Алерта в направления стрелки до начала открытие новой свечи за 10 секунд. Ошибку этого индикатора надо исправить таким образом, чтобы приходила уведомления не на открытие третьей свечи, а-на открытие второй свечи за 10 секунд до открытия

Informazioni sul progetto

Budget
30 - 100 USD
Per lo sviluppatore
27 - 90 USD
Scadenze
a 5 giorno(i)