Need to convert mt4 script to mt5 for no demand no suuply

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

Время выполнения 2 минуты
Отзыв от заказчика
very understanding and very fast
Отзыв от исполнителя
Great customer! thanks for your order!

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

            //+------------------------------------------------------------------+
//|                                                  NSNDHistory.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern int barcount=500;
extern int NSNDcount=10;
string comment[10];
static int prevtime=0;
static int prevfirstbar=0;
static double prevpricemax=0;
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------0-----------------------------+
int init()
  {
//---- indicators
f_clear();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   f_clear();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

   int    counted_bars=IndicatorCounted();
   string Bull_or_Bear,obj_nameND;
   bool Low_Volume,Pins,Bear_Close_Below,Bull_Close_Above,Bear_Close_Above,Bull_Close_Below;
   string label;
   double chartheight=WindowPriceMax()-WindowPriceMin();
   double addhigh=6.00/100.00*chartheight;
//   Comment(WindowFirstVisibleBar(),"  ",prevfirstbar);
//----
  if(WindowFirstVisibleBar()!=prevfirstbar)
  {
   prevtime=0;
  }
  if(WindowPriceMax()!=prevpricemax)
  {
   prevtime=0;
  }
 
//  if(Time[0]!=prevtime) // | prevfirstbar!=WindowFirstVisibleBar())// && 11==2)
  {
   f_clear();
  //for(int i=barcount;i>=1;i--)
   for(int i=WindowFirstVisibleBar();i>=WindowFirstVisibleBar()-500 && i>=0 ;i--)
   {
    Bull_or_Bear=f_Bull_or_Bear(i);
    Low_Volume=f_Low_Volume(i);
    Pins=f_Pins(i,Bull_or_Bear);
  //  Comment(Bull_or_Bear," Low Volume ",Low_Volume,"  Pins ",Pins );
         Bear_Close_Below=false;
       Bear_Close_Above=false;
       Bull_Close_Above=false;
       Bull_Close_Below=false;
    for(int ix=i;ix>i-NSNDcount && ix>=0;ix--)
    {
       if(Bull_or_Bear=="Bear" && Close[ix]<Low[i] && !Bear_Close_Above)
       {
         Bear_Close_Below=true;
       }
       if(Bull_or_Bear=="Bear" && Close[ix]>High[i] && !Bear_Close_Below)
       {
         Bear_Close_Above=true;
       }
       if(Bull_or_Bear=="Bull" && Close[ix]>High[i] && !Bear_Close_Below)
       {
         Bull_Close_Above=true;
        }
       if(Bull_or_Bear=="Bull" && Close[ix]<Low[i] && !Bear_Close_Above)
       {
         Bull_Close_Below=true;
       }
    }//end for ix  
    label=TimeYear(Time[i])+DoubleToStr(TimeMonth(Time[i]),0)+DoubleToStr(TimeDay(Time[i]),0);
    label=label+DoubleToStr(TimeHour(Time[i]),0)+DoubleToStr(TimeMinute(Time[i]),0);  
    obj_nameND="No Demand - "+i+" - "+label;   ObjectDelete(obj_nameND);
    if(Bull_or_Bear=="Bull" && Low_Volume && Pins && !Bull_Close_Above && Bull_Close_Below)
    {
      ObjectCreate(obj_nameND,OBJ_TEXT,0,Time[i],High[i]+(addhigh));//+spread+0.0005);
      ObjectSetText(obj_nameND,"v",18,"Arial",Red);
      ObjectSet(obj_nameND,OBJPROP_PRICE1,High[i]+(addhigh));
      ObjectSet(obj_nameND,OBJPROP_TIME1,Time[i]);
      if(High[i]-Close[i]>Open[i]-Low[i])
      {
        ObjectSetText(obj_nameND,"v",18,"Arial",Red);
     }
    }
    obj_nameND="No Supply - "+i+" - "+label;   ObjectDelete(obj_nameND);
    if(Bull_or_Bear=="Bear" && Low_Volume && Pins && !Bear_Close_Below  && Bear_Close_Above)
    {
       string obj_nameNS="No Supply - "+i+" - "+label;
       ObjectCreate(obj_nameNS,OBJ_TEXT,0,Time[i],Low[i]);//-spread-0.0005);
       ObjectSetText(obj_nameNS,"^",22,"Arial",Lime);
       ObjectSet(obj_nameNS,OBJPROP_PRICE1,Low[i]);
       ObjectSet(obj_nameNS,OBJPROP_TIME1,Time[i]);
       if(High[i]-Open[i]<Close[i]-Low[i])
       {
       ObjectSetText(obj_nameNS,"^",18,"Arial",Lime);
       }
    }
    
   }//end for i 
   prevtime=Time[0];
   prevfirstbar=WindowFirstVisibleBar();
   prevpricemax=WindowPriceMax();
   }//endif if prevtime
//---- 

   return(0);
  }
  
string f_Bull_or_Bear(int i)
{
 string retvar;
    if(Open[i]>Close[i])
   {
       retvar="Bear";
       comment[i]=comment[i]+"Bear ";
   }
   if(Close[i]>Open[i])
   {
    retvar="Bull";
    comment[i]=comment[i]+"Bull ";
   }
 return(retvar);
}

bool f_Low_Volume(int i)
{
  bool retvar=False;
     if(Volume[i]<Volume[i+1] && Volume[i]<Volume[i+2])
     {
       retvar=True;
       comment[i]=comment[i]+"Low Vol ";
    }
 return(retvar);
}

bool f_Pins(int i,string Bull_or_Bear)
{
  bool Pins=false;
  double pip=Point*1;
  bool retval;
  if(Bull_or_Bear=="Bear" && High[i]>Open[i]+pip && Low[i]<Close[i]-pip)
  {
    retval=true;
    comment[i]=comment[i]+" Pins";
  }
  if(Bull_or_Bear=="Bull" && High[i]>Close[i]+pip && Low[i]<Open[i]-pip)
  {
    retval=true;
    comment[i]=comment[i]+" Pins";
  }
  return(retval);
}

void f_clear()
{
  for (int i=ObjectsTotal(); i>0; i--)
  
 {
   if(StringSubstr(ObjectName(i),0,2)=="No")
   {
    ObjectDelete(ObjectName(i));
   }
 }
   for (i=ObjectsTotal(); i>0; i--)
  
 {
   if(StringSubstr(ObjectName(i),0,2)=="No")
   {
    ObjectDelete(ObjectName(i));
   }
 }
}
//+------------------------------------------------------------------+

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

1
Разработчик 1
Оценка
(68)
Проекты
124
40%
Арбитраж
17
47% / 53%
Просрочено
31
25%
Загружен
2
Разработчик 2
Оценка
(19)
Проекты
22
23%
Арбитраж
5
40% / 60%
Просрочено
2
9%
Работает
3
Разработчик 3
Оценка
(428)
Проекты
624
54%
Арбитраж
30
53% / 23%
Просрочено
6
1%
Занят
4
Разработчик 4
Оценка
(85)
Проекты
166
43%
Арбитраж
3
67% / 0%
Просрочено
5
3%
Работает
Опубликовал: 1 пример
5
Разработчик 5
Оценка
(152)
Проекты
228
80%
Арбитраж
22
27% / 50%
Просрочено
11
5%
Свободен
Опубликовал: 24 статьи, 1882 примера
6
Разработчик 6
Оценка
(542)
Проекты
624
33%
Арбитраж
39
36% / 49%
Просрочено
11
2%
Занят
7
Разработчик 7
Оценка
(31)
Проекты
35
46%
Арбитраж
0
Просрочено
0
Свободен
Опубликовал: 3 примера
8
Разработчик 8
Оценка
Проекты
1
0%
Арбитраж
1
0% / 100%
Просрочено
0
Свободен
9
Разработчик 9
Оценка
(265)
Проекты
596
35%
Арбитраж
64
20% / 58%
Просрочено
147
25%
Работает
Опубликовал: 1 статью, 22 примера
10
Разработчик 10
Оценка
(43)
Проекты
66
12%
Арбитраж
12
58% / 42%
Просрочено
1
2%
Свободен
11
Разработчик 11
Оценка
(4)
Проекты
2
0%
Арбитраж
5
0% / 80%
Просрочено
1
50%
Свободен
12
Разработчик 12
Оценка
(102)
Проекты
105
60%
Арбитраж
0
Просрочено
0
Свободен
13
Разработчик 13
Оценка
(33)
Проекты
35
20%
Арбитраж
5
40% / 40%
Просрочено
0
Свободен
Опубликовал: 1 пример
14
Разработчик 14
Оценка
(3)
Проекты
6
17%
Арбитраж
0
Просрочено
3
50%
Свободен
15
Разработчик 15
Оценка
(15)
Проекты
18
6%
Арбитраж
8
38% / 38%
Просрочено
2
11%
Загружен
16
Разработчик 16
Оценка
(206)
Проекты
333
35%
Арбитраж
66
12% / 58%
Просрочено
87
26%
Свободен
17
Разработчик 17
Оценка
(449)
Проекты
476
69%
Арбитраж
6
67% / 0%
Просрочено
2
0%
Работает
18
Разработчик 18
Оценка
(302)
Проекты
308
69%
Арбитраж
2
100% / 0%
Просрочено
0
Свободен
Опубликовал: 1 пример
19
Разработчик 19
Оценка
(568)
Проекты
642
40%
Арбитраж
2
100% / 0%
Просрочено
1
0%
Свободен
Опубликовал: 9 примеров
20
Разработчик 20
Оценка
(295)
Проекты
471
39%
Арбитраж
102
40% / 24%
Просрочено
78
17%
Занят
Опубликовал: 2 примера
21
Разработчик 21
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен

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

Бюджет
30+ USD
Сроки выполнения
от 1 до 2 дн.