Помогите доработать индикатор

MQL4 Индикаторы

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

Суть индикатора, отображение размера свечи в режиме онлайн, и звуковое уведомление (Не более 3 раз на одной свече) при достижении заданного значения.

Проблемы текущего кода, периодически виснет и не обновляет значение, а так же посылает ложные уведомления и очень много раз.

помогите наладить пожалуйста!!!!



Заранее благодарен!


#property indicator_chart_window 


input int      TextSize = 15; //размер шрифта 

input color    TextColor = Red; //цвет текста 

input int      TextAngle = 0; //угол поворота текста 

input int      MaxBar = 1;  //количество баров, начиная с 0, для которых вычисляется размер свечей 

input string   muz="news.wav"; // сигнал алерта

input bool     sound=1;    // алерт мелодия

input int       posize=100;  // размер свечи в пунктах

input bool      point=1;    // вывод пункты

input int       f=1;// на какой свече сигнал




int OnInit() 

   return(INIT_SUCCEEDED); 


int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

                

                //---------------

                

                

                {

                      double psize=NormalizeDouble((high[f]-low[f])/_Point, 0);

                      double prsize=NormalizeDouble(MathAbs((close[f]-open[f])/_Point)/psize*100,0);

                      

     if(psize >= posize) 

     

      {

     if(sound) PlaySound(muz);

      };

                  

                      

                     

     

                

                

   int i; 

   

   for ( i = 0; i < MaxBar; i++ )                    

    { 

      if ( ObjectFind ("candlesize"+ IntegerToString(i)) >=0 )   

      { 

             ObjectDelete("candlesize"+ IntegerToString(i)); 

             

      } 

      ObjectCreate ("candlesize"+ IntegerToString(i),  

                    OBJ_TEXT,  

                    0,  

                    time[i],  

                    high[i]+StepPer()*Point); 

      ObjectSet (  "candlesize"+IntegerToString(i),  

                    OBJPROP_ANGLE,  

                    TextAngle 

                 ); 

      ObjectSetText ( "candlesize"+IntegerToString(i),  

                      DoubleToStr(NormalizeDouble((high[i]-low[i]+Point)/Point, 0), 0),  

                      TextSize,  

                      NULL,  

                      TextColor 

                     ); 

                     //----------------------------

                          

                        

           

                    

                      

   } 

   return(rates_total); 

                 


     }

     }

 


int StepPer () 

     int i = 0; 

     switch (Period()) 

     { 

          case PERIOD_M1: 

          i = 5; 

          break; 

          case PERIOD_M5: 

          i = 15; 

          break; 

          case PERIOD_M15: 

          i = 25; 

          break; 

          case PERIOD_M30: 

          i = 40; 

          break; 

          case PERIOD_H1: 

          i = 60; 

          break; 

          case PERIOD_H4: 

          i = 90; 

          break; 

          case PERIOD_D1: 

          i = 220; 

          break; 

          case PERIOD_W1: 

          i = 500; 

          break; 

          case PERIOD_MN1: 

          i = 2000; 

          break; 

          default:  

          break; 

     } 

    

     return (i); 

}  


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

1
Разработчик 1
Оценка
(57)
Проекты
150
47%
Арбитраж
9
11% / 78%
Просрочено
17
11%
Свободен
2
Разработчик 2
Оценка
(356)
Проекты
632
26%
Арбитраж
89
73% / 13%
Просрочено
12
2%
Свободен
3
Разработчик 3
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
4
Разработчик 4
Оценка
(37)
Проекты
66
23%
Арбитраж
10
0% / 60%
Просрочено
18
27%
Свободен
5
Разработчик 5
Оценка
(1)
Проекты
1
0%
Арбитраж
0
Просрочено
0
Свободен
6
Разработчик 6
Оценка
(76)
Проекты
136
45%
Арбитраж
11
27% / 64%
Просрочено
26
19%
Свободен
7
Разработчик 7
Оценка
(351)
Проекты
679
56%
Арбитраж
33
15% / 39%
Просрочено
63
9%
Свободен
8
Разработчик 8
Оценка
(14)
Проекты
22
59%
Арбитраж
2
0% / 50%
Просрочено
2
9%
Свободен
9
Разработчик 9
Оценка
(241)
Проекты
387
51%
Арбитраж
14
14% / 14%
Просрочено
43
11%
Свободен
10
Разработчик 10
Оценка
(157)
Проекты
220
50%
Арбитраж
2
50% / 0%
Просрочено
15
7%
Свободен
11
Разработчик 11
Оценка
(66)
Проекты
143
34%
Арбитраж
10
10% / 60%
Просрочено
26
18%
Свободен
12
Разработчик 12
Оценка
(491)
Проекты
1017
58%
Арбитраж
29
28% / 24%
Просрочено
132
13%
Свободен
13
Разработчик 13
Оценка
(195)
Проекты
395
28%
Арбитраж
155
20% / 52%
Просрочено
112
28%
Свободен
14
Разработчик 14
Оценка
(564)
Проекты
933
47%
Арбитраж
302
59% / 25%
Просрочено
125
13%
Загружен
17
Разработчик 17
Оценка
(102)
Проекты
155
32%
Арбитраж
23
22% / 52%
Просрочено
3
2%
Загружен
18
Разработчик 18
Оценка
(45)
Проекты
50
34%
Арбитраж
14
7% / 64%
Просрочено
15
30%
Свободен
Похожие заказы
1. Два индикатора и советника перестали работать в новом билде терминала. 2. Индикаторы и советники в формате ex4. 3. Модифицировать индикаторы и советники под новый билд терминала. 4. При технической возможности обеспечить работу и на будущих билдах мт4
Требуется MQL разработчик с большим опытом работы по написанию скриптов советника. Работа по техническому заданию клиента, все доработки по согласованию с клиентом, за отдельную плату. Предварительное, внимательное изучение поставленной задачи. Соблюдение четких сроков исполнения. Соблюдение конфиденциальности и предотвращения разглашения, утечки идеи и алгоритма

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

Бюджет
30 USD
Исполнителю
27 - 27 USD