Переписать 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%
중재
302
59% / 25%
기한 초과
124
13%
바쁜
5
개발자 5
등급
(1857)
프로젝트
3460
88%
중재
73
40% / 15%
기한 초과
265
8%
무료
6
개발자 6
등급
(336)
프로젝트
620
38%
중재
39
23% / 64%
기한 초과
93
15%
무료
비슷한 주문
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, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги

프로젝트 정보

예산
60- USD