Исправить индикатор

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

Есть индикатор и его исходный код, но он почему-то перерисовывает. Нужно чтобы если и перерисовывал то максимум на 1-2 бара. 

 

 

Source code:

//+------------------------------------------------------------------+

//|                                           fxfariz_scalpingM5.mq4 |

//|                                     fxfariz a.k.a warrior trader |

//|                                                fxfariz@gmail,com |

//+------------------------------------------------------------------+

#property copyright "fxfariz a.k.a warrior trader"

#property link      "fxfariz@gmail,com"


- Alert improvement: swissly, post #2258

http://www.forexfactory.com/showthread.php?t=165948&page=151

- Name from: TudorGirl_Vorticity

//------------------------------------------------------------------*/


#property  indicator_separate_window

#property  indicator_buffers 2

#property  indicator_color1  Blue

#property  indicator_color2  Red

#property indicator_width1 2

#property indicator_width2 2

#property indicator_minimum 0.0

#property indicator_maximum 2.0


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

extern int period=8;

extern bool alarm=false;

extern int nBars = 200;

extern int arrowUP = 110;

extern int arrowDN = 110;

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


double         ExtBuffer0[];

double         ExtBuffer1[];

double         ExtBuffer2[];

double alertBar;

double last;


int init()

{  

   IndicatorDigits(0);

   IndicatorBuffers(3);


   SetIndexBuffer(0,ExtBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,arrowUP);

   SetIndexBuffer(1,ExtBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,arrowDN);

   SetIndexBuffer(2,ExtBuffer0);


   IndicatorShortName("SwingMan Vorticity" +" ("+period+")");

   SetIndexLabel(0,"Trend UP");

   SetIndexLabel(1,"Trend DN");


   return(0);

  }



int start()

{

   int    limit;

//   int    counted_bars=IndicatorCounted();

   double prev=0,current;

   double Value=0,Fish1=0;

   double price;

   double MinL=0;

   double MaxH=0;  

   


//   if(counted_bars>0) counted_bars--;

//   limit=Bars-counted_bars;


limit = nBars;

   //for(int i=0; i<Bars; i++)

   for(int i=0; i<limit; i++) {

      MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];

      MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];

      price = (High[i]+Low[i])/2;

      

      if(MaxH-MinL == 0) Value = 0.33*2*(0-0.5) + 0.67*prev; 

      else Value = 0.33*2*((price-MinL)/(MaxH-MinL)-0.5) + 0.67*prev;     

      

      Value=MathMin(MathMax(Value,-0.999),0.999); 

      

      if(1-Value == 0) ExtBuffer0[i]=0.5+0.5*Fish1;

      else ExtBuffer0[i]=0.5*MathLog((1+Value)/(1-Value))+0.5*Fish1;

     

      prev=Value;

      Fish1=ExtBuffer0[i];

   }



   bool trendUP = TRUE;

   for (i = limit; i >= 0; i--) {

      current = ExtBuffer0[i];

      prev    = ExtBuffer0[i + 1];

      

      if ((current < 0.0 && prev > 0.0) || current < 0.0) trendUP = FALSE;

      if ((current > 0.0 && prev < 0.0) || current > 0.0) trendUP = TRUE;

      

      if (trendUP) {

         ExtBuffer1[i] = 1.0;

         ExtBuffer2[i] = EMPTY_VALUE;

         if (alarm == true) {

            if (i==0 && prev != 2 && ExtBuffer1[i] == 1.0 && Bars>alertBar) {

               Alert("(smVorti) Trend Changing Down on ",Period()," ",Symbol());

               alertBar = Bars;

               last = 2;

            }

         }

      } 

      

      else {

         ExtBuffer2[i] = 1.0;

         ExtBuffer1[i] = EMPTY_VALUE;

         if (alarm == true) {

            if (i==0 && last != 1 && ExtBuffer2[i] == 1.0 && Bars>alertBar) {

               Alert("(smVorti) Trend Changing Up on ",Period()," ",Symbol());

               alertBar = Bars;

               last = 1;

            }

         }

      }

   }

   return(0);

}

 

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

1
Разработчик 1
Оценка
(473)
Проекты
1138
44%
Арбитраж
51
31% / 33%
Просрочено
500
44%
Свободен
2
Разработчик 2
Оценка
(71)
Проекты
254
53%
Арбитраж
16
50% / 38%
Просрочено
83
33%
Свободен
Похожие заказы
В уже существующий проект ищем человека со следующими навыками: · MQL4, MQL5, работа с dll библиотекой. · C# .NET Framework 4.7.2 (Windows Forms). · Разработка приложений с GUI на C# · Умение интегрировать внешние dll · Умение строить сложные sql-запросы Задачи: 1. Разработка под ТЗ Индикатора и советника для МТ4 и МТ5 2. Оптимизация текущей работы, исправление
1.Требуется установить защиту от копирования на существующий и успешно работающий советник на основании уникального номера счета (account number). 2. Сделать его версию на английском языке для продажи в зарубежные страны такие как Соединенные Штаты Америки и Китай
Есть два индикатора Один дает сигналы Второй индикатор RSI Нужно чтоб он соединял информацию с двух иддикаторов и выдавал сигнал Получается что просто нужно добавить переменную из второго индикатора как подтверждение сигнала
ест такой индикатор на мт4.если понадобится могу отправит. для buy сигнала если Close[current+2]>Open[current+2]&&Close[current+1]<Open[current+1]&&Close[current+1]<=Low[current+2]&&High[current+1]-Close[current+1]>High[current+2]-Open[current+2]&& High[current+1]>High[current+2]&&Open[current+1]>=Close[current+2]&&Close[current+1]<=Open[current+2]&&Close[current+1]<=Low[current+2] то на High[current+1] вставляем
Нужно добавить 1 функцию - ALERT - на индикаторе 123Patterns v6 на MT4. При фиксаций индикатором паттерна /появляется синяя или красная линия / мне на мобильник придёт SMS- сообщение. Готов оплатить работу
Здравствуйте! 1) Нужно убрать лишние стрелки у индикатора и оставить/до написать две стрелки , бай и селл, при касании + пробои крайних верхней и нижний линий, сигнал подается после закрытия бара/свечи. 2) Интегрировать код отправки сообщения в Телеграм канал/группу, в сообщении должно быть указано: символ торгуемого инструмента, бай или сел сигнал, подход, касание, пробой, тайм фрейм инструмента
Добрый день. Изменение существующего индикатора мт5 Простое изменение добавить отрисовка уровней ( пример на скриншоте ) ( будет выслан исполнителю) Так же значение визуальное на графике уровней тейкпрофита и стоп лосс Добавить простую инфографика Баланс Средства Открытые ордера ( сумма ( плюс илм минус ) ) Спред Время сервера нужен профессионал для постоянного сотрудничества
Мне нужен робот, работающий на МТ4, требования такие: 1) суточная просадка не должна быть меньше 1-2%! 2) дневная минимальная прибыль? 3) открытые ежедневно позиции должны быть закрыты в тот же день! 4) инструменты, используемые для открытия сделки, должны быть XAU/USD, GBP/USD, EURO/USD и т. д
Добрый день. Необходимо перенести или написать индикатор в платформу TradingView под язык программирования pinescript. Индикатор простой. Строит уровни по предыдущим месяцам. Индикатор предоставлю при выборе кандидата. Исходный год необходимо предоставить заказчику
Есть код советника (mql4 - будет предоставлен в личных сообщениях совместно с подробным ТЗ). Нужно добавить в него следующие изменения: 1. Добавить четкие комментарии во все ордера советника (типа Sell 01, Sell 02 ... Sell 30 или Buy 01 и т.п.) В текущем советнике комментарии одинаковые и регулируются переменной. 2. Добавить в советника время торговли по времени (интервал времени указывается в настройках). 3

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

Бюджет
10 - 15 USD
Исполнителю
9 - 13.5 USD
Сроки выполнения
от 1 до 7 дн.