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

MQL5 Индикаторы

Работа завершена

Время выполнения 1 день
Отзыв от заказчика
Работу сделал быстро. В общении адекватен. Приятно было общаться

Техническое задание

Необходимо переписать четыре  индикатора написанных на языке  MQL4 на язык МQL5 по 15 долларов за штуку. Больше собственно и сказать нечего... Больше и сказать нечего... Ну кроме  того, чтобы было быстро и дешево

//+------------------------------------------------------------------+
//|                                                       _RAZ_3.mq4 |
//|                                                   Nikolay Kobzar |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Nikolay Kobzar"
#property link      "www.traderacademy.ru"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

double r[];
double r1[];
double z[];
double yy[];
double yy1[];

extern int pm = 60;  // 
extern int t = 2; // ??? ??????? (1-s/2-e)

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorShortName("_RAZ_3");
   IndicatorBuffers(5);
   
   SetIndexBuffer(0,r);
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexLabel(0,"r");
   
   SetIndexBuffer(1,r1);
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexLabel(1,"r1");
   
   SetIndexBuffer(2,z);
   SetIndexBuffer(3,yy);
   SetIndexBuffer(4,yy1);
       
   SetLevelStyle(STYLE_DOT,1,Red);
   SetLevelValue(0,0);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted();

   if (Bars <= pm) return(0);
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--;

   int loopbegin = Bars - counted_bars - 1;
       
   for(int i=loopbegin; i>=0; i--) {
//----
   double RAZ,RAZ1,x;
   if (t==1) x = iMA(NULL,0,pm,0,MODE_SMA,PRICE_CLOSE,i);
   else x = iMA(NULL,0,pm,0,MODE_EMA,PRICE_CLOSE,i);
   z[i] = (Close[i]-x)/Close[i]*100;
   RAZ = (z[i] + z[i+1])/2.0;
   RAZ1 = (z[i+1] + z[i+2])/2.0;

   if (RAZ>RAZ1) yy[i]=1; else yy[i]=0;
   if (RAZ<RAZ1) yy1[i]=-1; else yy1[i]=0;
   
   for (int j=i;j>=0;j--) {r1[j]=0;r[j]=0;}
   if ((yy[i+1]>0) && (yy1[i]<0)) { r[i]=0; r1[i]=-1; }
   if ((yy1[i+1]<0) && (yy[i]>0)) { r[i]=1; r1[i]=0; }

//----
   }
   return(0);
  }
//+------------------

 

//+------------------------------------------------------------------+
//|                                               !_TREND_5_BALL.mq4 |
//|                                                   Nikolay Kobzar |
//|                                                            v.0.2 |
//+------------------------------------------------------------------+
#property copyright "Nikolay Kobzar"
#property link      "www.traderacademy.ru"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

double r1[];
double r2[];
double NMACD1[];
double NMACD2[];

extern int n1 = 12;  // Параметр 1 быстрой средней
extern int n2 = 72;  // Параметр 1 медленной средней
extern int n3 = 72;  // Параметр 2 быстрой средней
extern int n5 = 120;  // Параметр 2 медленной средней
extern int n4 = 2;  // тип средней (1-s/2-e/3-v)


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorShortName("!_TREND_5_BALL");
   IndicatorBuffers(4);
   
   SetIndexBuffer(0,r1);
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1);
   SetIndexLabel(0,"");
   
   SetIndexBuffer(1,r2);
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1);
   SetIndexLabel(1,"");
   
   SetIndexBuffer(2,NMACD1);  
   SetIndexBuffer(3,NMACD2);  

   SetLevelStyle(STYLE_DOT,1,Red);
   SetLevelValue(0,0);      
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  
   if (Bars <= n5+1) return(0);  
   int counted_bars=IndicatorCounted();
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--;

   int loopbegin = Bars - counted_bars;
       
   for(int i=loopbegin; i>=0; i--) {
//----
   int x1,x2;
   
   switch(n4)
   {
     case 1:
       NMACD1[i]=iMA(NULL,0,n1,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,n2,0,MODE_SMA,PRICE_MEDIAN,i);
       NMACD2[i]=iMA(NULL,0,n3,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,n5,0,MODE_SMA,PRICE_MEDIAN,i);
       break;
     case 2:
       NMACD1[i]=iMA(NULL,0,n1,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,n2,0,MODE_EMA,PRICE_MEDIAN,i);
       NMACD2[i]=iMA(NULL,0,n3,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,n5,0,MODE_EMA,PRICE_MEDIAN,i);
       break;   
     case 3:
       NMACD1[i]=iMA(NULL,0,n1,0,MODE_LWMA,PRICE_MEDIAN,i)-iMA(NULL,0,n2,0,MODE_LWMA,PRICE_MEDIAN,i);
       NMACD2[i]=iMA(NULL,0,n3,0,MODE_LWMA,PRICE_MEDIAN,i)-iMA(NULL,0,n5,0,MODE_LWMA,PRICE_MEDIAN,i);
   }

   if (NMACD1[i] >= NMACD1[i+1]) x1=1; else x1=-1;
   if (NMACD2[i] >= NMACD2[i+1]) x2=1; else x2=-1; 
   if ((x1==1) && (x2==1)) {r1[i]=2;r2[i]=0;}
   if ((x1==-1) && (x2==-1)) {r1[i]=0;r2[i]=-2;}
   if ((x1*x2)==-1) {r1[i]=1;r2[i]=-1;}  
      
//----
   }
   return(0);
  }
//+--------------------
//+------------------------------------------------------------------+
//|                                                 _TREND_STOCH.mq4 |
//|                                                   Nikolay Kobzar |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Nikolay Kobzar"
#property link      "www.traderacademy.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

double r[];
double x[];

extern int p1 = 30;
extern int p2 = 8;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorShortName("_TREND_STOCH");
   IndicatorBuffers(2);
   SetIndexBuffer(0,r);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexLabel(0,"r");
   
   SetIndexBuffer(1,x); 
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);  
       
   SetLevelStyle(STYLE_DOT,1,Red);
   SetLevelValue(0,0);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted();

   if (Bars <= p1) return(0);
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--;

   int loopbegin = Bars - counted_bars - 1;
   
   double x1;
       
   for(int i=loopbegin; i>=0; i--) {
//----

x[i] = iStochastic(NULL,0,p1,2,p2,MODE_SMA,0,1,i);
x1 = x[i+1]; 
if (x[i]>x1) r[i]=1;
if (x[i]<x1) r[i]=-1;
if (x[i]==x1) r[i]=0;

//----
   }
   return(0);
  }
//+------------------------------------------------------------------+
/+------------------------------------------------------------------+
//|                                                   !_TREND_PO.mq4 |
//|                                                   Nikolay Kobzar |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Nikolay Kobzar"
#property link      "www.traderacademy.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red

double R[];
double F[];

extern int n1 = 8;  // Параметр быстрой средней
extern int n2 = 60; // Параметр медленной средней
extern int n3 = 1;  // тип средней (1-s/2-e)

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorShortName("!_TREND_PO");
   IndicatorBuffers(2);
   SetIndexBuffer(0,R);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexLabel(0,"R");
   
   SetIndexBuffer(1,F);   
       
   SetLevelStyle(STYLE_DOT,1,Red);
   SetLevelValue(0,0);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted();

   if (Bars <= n2) return(0);
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--;

   int loopbegin = Bars - counted_bars - 1;
       
   for(int i=loopbegin; i>=0; i--) {
//----

if (n3 == 1) F[i]=iMA(NULL,0,n1,0,MODE_SMA,PRICE_CLOSE,i) 
                  - iMA(NULL,0,n2,0,MODE_SMA,PRICE_CLOSE,i);
if (n3 == 2) F[i]=iMA(NULL,0,n1,0,MODE_EMA,PRICE_CLOSE,i)
                  - iMA(NULL,0,n2,0,MODE_EMA,PRICE_CLOSE,i);
if (F[i]>=F[i+1]) R[i]=1; else R[i]=-1;

//----
   }
   return(0);
  }
//+--------------------------------------------------

Откликнулись

1
Разработчик 1
Оценка
(3)
Проекты
4
25%
Арбитраж
0
Просрочено
0
Свободен
2
Разработчик 2
Оценка
(47)
Проекты
89
43%
Арбитраж
5
20% / 60%
Просрочено
9
10%
Свободен
3
Разработчик 3
Оценка
(280)
Проекты
650
28%
Арбитраж
111
19% / 61%
Просрочено
319
49%
Свободен
4
Разработчик 4
Оценка
(563)
Проекты
932
47%
Арбитраж
301
59% / 25%
Просрочено
124
13%
Работает
5
Разработчик 5
Оценка
(1853)
Проекты
3455
88%
Арбитраж
73
40% / 15%
Просрочено
265
8%
Свободен
6
Разработчик 6
Оценка
(336)
Проекты
620
38%
Арбитраж
39
23% / 64%
Просрочено
93
15%
Свободен
Похожие заказы
Есть советник, нужно только поменять название,описание, сделать привязку к счету, чтобы была защита,чтобы мы могли клиенту давать советник, и была привязка к 1-3 счетам только. Если возможно , сделать привязку к времени, чтобы была привязка лицензии еще на время, например на месяц, 2-3
1. Понимание экспоненциальной и линейной функций: - Экспоненциальная функция имеет вид: y = a * b^x, где a - начальное значение, b - основание экспоненты. - Линейная функция имеет вид: y = mx + b, где m - коэффициент наклона, b - свободный член. 2. Определение целевых значений: - Необходимо определить, к каким значениям на линейном графике должны соответствовать точки на экспоненциальном графике. 3. Решение
требуется организовать копирование сигналов с телеграмм канала в платформу Metatrader4 бюджет обсуждаем до 100$ - в закрытый телеграмм канал поступает информация с сигналами #EURUSD BUY TP нужно чтобы в мт4 автоматически открылась сделка с данными параметрами

Информация о проекте

Бюджет
60- USD