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

MQL5 Indicatori

Lavoro terminato

Tempo di esecuzione 1 giorno
Feedback del cliente
Работу сделал быстро. В общении адекватен. Приятно было общаться

Specifiche

Необходимо переписать четыре  индикатора написанных на языке  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);
  }
//+--------------------------------------------------

Con risposta

1
Sviluppatore 1
Valutazioni
(3)
Progetti
4
25%
Arbitraggio
0
In ritardo
0
Gratuito
2
Sviluppatore 2
Valutazioni
(47)
Progetti
89
43%
Arbitraggio
5
20% / 60%
In ritardo
9
10%
Gratuito
3
Sviluppatore 3
Valutazioni
(280)
Progetti
650
28%
Arbitraggio
111
19% / 61%
In ritardo
319
49%
Gratuito
4
Sviluppatore 4
Valutazioni
(563)
Progetti
932
47%
Arbitraggio
302
59% / 25%
In ritardo
124
13%
Occupato
5
Sviluppatore 5
Valutazioni
(1857)
Progetti
3460
88%
Arbitraggio
73
40% / 15%
In ritardo
265
8%
Gratuito
6
Sviluppatore 6
Valutazioni
(336)
Progetti
620
38%
Arbitraggio
39
23% / 64%
In ritardo
93
15%
Gratuito
Ordini simili
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%
написать индикатор распознования флета. выявления флета из трёх частей проверки. в каждой части свой расчёт, по барам, по количеству поинтов, по ширине (высоте) баров, по минимальным значениям... когда все расчеты сошлись и не вышли из пропорций, тогда рисуется флет. Задание готово, отправлю подходящему кандидату. передача оплаты, когда индикатор будет работать без проблем, по всем параметрам расчетов. возможны не
был старый работоспособный скрипт на очень старом МТ4... есть необходимость переписать его на MQL5, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги

Informazioni sul progetto

Budget
60- USD