← К каталогу
Исходный код · ID 3216

lukas1 arrows & curves

lukas1 arrows & curves mtf nmc.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор «lukas1 arrows & curves» — многофреймовый аналитический инструмент для MetaTrader 5, отображающий на графике стрелки сигналов и линии динамического канала. Он анализирует ценовые экстремумы за заданный период и отмечает потенциальные точки разворота, а также строит граничные линии канала в верхней и нижней части графика. Поддержка мультифреймовости позволяет отображать данные с более старших таймфреймов на текущем графике. Индикатор оснащается гибкой системой уведомлений с возможностью оповещений через сообщения, звуковые сигналы и электронную почту.

Настройки программы

НастройкаОписание
TimeFrame Таймфрейм — Временной интервал, на данных которого производится расчёт и отображение индикатора.
?????? ????????? ????????? ?????????? (SSP) Период анализа экстремумов — Период анализа, определяющий количество баров, используемых для поиска локальных экстремумов цены.
???????????????? ? ?????? ?????? (SkyCh) Процент канала — Процентный параметр, задающий соотношение границ канала к диапазону цены за период анализа.
alertsOn Включить уведомления — Общий переключатель, включающий или отключающий всю систему уведомлений индикатора.
alertsOnCurrent Уведомление о текущем баре — Определяет, на каком баре проверять наличие сигнала: на текущем или на предыдущем.
alertsMessage Текстовые уведомления — Включает или отключает отображение текстовых уведомлений в окне терминала при срабатывании сигнала.
alertsSound Звуковые уведомления — Включает или отключает воспроизведение звукового сигнала при срабатывании события.
alertsEmail Уведомления по электронной почте — Включает или отключает отправку уведомлений по электронной почте при срабатывании сигнала.
Interpolate Интерполяция — Включает или отключает интерполяцию линий канала между барами для более гладкого отображения на графике.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Green

extern string TimeFrame       = "Current time frame";
extern int    SSP             = 6;     //?????? ????????? ????????? ??????????
extern int    SkyCh           = 13;    //???????????????? ? ?????? ?????? 
extern bool   alertsOn        = false;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;
extern bool   Interpolate     = true;

double val1[];      // ????? ??? ???
double val2[];      // ????? ??? ????
double Sky_BufferH[];
double Sky_BufferL[];
int    timeFrame;
bool   returnBars;
bool   calculateValue;
string indicatorFileName;

int init()
{
      // код доступен только после оплаты
   }

double work[][1];
#define _uptrend 0

int start()
{
      // код доступен только после оплаты
   }   
   int i,r,counted_bars = IndicatorCounted();
      if(counted_bars < 0) return(-1);
      if(counted_bars > 0) counted_bars--;
             int limit=MathMin(Bars-counted_bars,Bars-1);
             if (returnBars) { val1[0] = limit; return(0); }

   if (calculateValue || timeFrame == Period())
   {
      GlobalVariableSet("goSELL", 0); // ?????? ????????????? ? ???????? goSELL=0
      GlobalVariableSet("goBUY", 0);  // ?????? ????????????? ? ???????? goBUY =0
      if (ArrayRange(work,0)!=Bars) ArrayResize(work,Bars);

      for(i=limit, r=Bars-i-1; i>=0; i--,r++)
      { 
         double high = High[ArrayMaximum(High,SSP,i)]; 
         double low  = Low[ ArrayMinimum(Low ,SSP,i)]; 
         double smax = high - (high - low)*SkyCh / 100;
         double smin = low  + (high - low)*SkyCh / 100;
            val1[i] = EMPTY_VALUE;  
            val2[i] = EMPTY_VALUE;
            work[r][_uptrend] = work[r-1][_uptrend];
               if(Close[i] < smin && i!=0 ) work[r][_uptrend] = false;
	            if(Close[i] > smax && i!=0 ) work[r][_uptrend] = true;
               if(work[r][_uptrend] != work[r-1][_uptrend] && work[r][_uptrend] == false)
               {
                  val2[i] = high; if(i == 0) GlobalVariableSet("goBUY",1);
               }
               if(work[r][_uptrend] != work[r-1][_uptrend] && work[r][_uptrend] == true)
               {
                 val1[i] = low; if(i == 0)  GlobalVariableSet("goSELL",1);
               }
         Sky_BufferH[i]=high - (high - low)*SkyCh / 100;
         Sky_BufferL[i]=low  + (high - low)*SkyCh / 100;
      }
      manageAlerts();
      return(0);
   }      

   limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
   for (i=limit; i>=0; i--)
   {
 

Показано первые 50% кода (символов: 5031)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
503,10₽ ≈ $6.15