Переписать 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
等级
(564)
项目
933
47%
仲裁
303
59% / 25%
逾期
125
13%
工作中
5
开发者 5
等级
(1864)
项目
3467
88%
仲裁
73
40% / 15%
逾期
265
8%
工作中
6
开发者 6
等级
(336)
项目
622
38%
仲裁
39
23% / 64%
逾期
93
15%
空闲
相似订单
Здравствуйте, коллеги. Имеется базовый советник. В основе - двухстороння сетка, мартингейл. Сигнал входа в рынок на базе двух индикаторов, выход - TP, SL. В общем, все несложно. Присутствует визуализация: динамические TP, SL, маркеры линий открытия\закрытия торговых цикла. Что необходимо добавить: 1. Есть небольшие и бестолковые косяки, их не очень много. Например, переделать несколько переключателей во входных
Spred+ 30+ USD
1. Необходим скрипт (МТ5 брокер Финам) для формирования графика (синтетического инструмента наприме Siz4 - (минус,плюс,/,*,%) SiH5 ) двух инструментов (фьючерсы но Forts Московская биржа) со стандартизацией (коллибровкой ), с возможностью прикрепления к нему советника и совершения сделок
Необходимо создать индикатор на основе индикатора с Trading View. Уточнить если ли такая возможность создать индикатор который существует в TradingView ? Есть индикатор, который находится на платформе Trading View
Добрый день! есть программа, BotBinaryCopier, которая с помощью API ключей копирует сделку у брокера deriv с одного счета на другой. Задача сделать реверс, т.е если на счете мастер приходит сигнал бай (вверх, Call), то копируется сделка селл (вниз, Put) и на оборот. Если есть в данной программе комиссия, то отвязать эту комиссию
Задачи две: 1. Написать индикатор 2. Написать советник который будет по данным индикатора открывать, закрывать позиции Индикатор будет работать как любой индикатор FVG (imbalance) , (примеров в интернете и trading view уйма), определяя нужное движение и давая сигнал для советника. Прошу откликаться только если вы готовы находить сами пути решений, а не писать строго по ТЗ, важен результат. Исполнители только из РФ
Доброго вечера господа разработчики. Имеется торговый индикатор и собственно исходный код этого индикатора, разработанного под площадку Trading View Задача переписать индикатор под платформы МТ4 И МТ5 Протестировать на работоспособность Соблюсти Конфиденциальность проекта
Есть готовый робот,в него нужно добавить Мартингейл.Робот одновременно будет открывать достаточно большое количество сделок к слову.Работа не сложная .Робот готовый .Считаю что если вы этим занимались,то несколько дней будет достаточно для завершения работы

项目信息

预算
60- USD