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

trendvalue.mq5

Похожие материалы по тегам

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

TrendValue — пользовательский индикатор для MetaTrader 5, отображающий трендовые уровни на ценовом графике. Индикатор рассчитывает верхнюю и нижнюю линии на основе линий взвешенного скользящего среднего (по максимумам и минимумам цен) с добавлением или вычитанием смещения, рассчитанного на основе индикатора ATR.

Индикатор отображает четыре графика: две линии (верхняя и нижняя трендовые) и два набора стрелок, обозначающих точки смены тренда. Направление тренда определяется по соотношению цены закрытия с рассчитанными уровнями: при росте цены выше верхнего уровня индикатор показывает бычий тренд, при падении ниже нижнего — медвежий.

Параметры настройки включают период скользящих средних, чувствительность ATR-смещения, процентное горизонтальное смещение индикатора и смещение в барах. Индикатор рассчитывает данные с использованием встроенных функций MetaTrader 5 для ATR и скользящих средних.

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

НастройкаОписание
period Период скользящих средних, используемых для расчёта верхней и нижней трендовых линий.
shiftPercent Процентное горизонтальное смещение индикатора, применяемое при расчёте верхнего и нижнего уровней тренда.
ATRPeriod Период индикатора ATR, используемого для определения волатильности и расчёта смещения уровней.
ATRSensitivity Чувствительность смещения уровней, задаваемая множителем для значения ATR при расчёте верхнего и нижнего уровней.
Shift Горизонтальное смещение индикатора в барах для всех отображаемых линий и стрелок.
Получить полный код

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

#property version   "1.00"

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_plots   4

#property indicator_type1   DRAW_LINE

#property indicator_color1  Blue

#property indicator_style1  STYLE_DASHDOTDOT

#property indicator_width1  2

#property indicator_label1  "Upper TrendValue"

#property indicator_type2   DRAW_LINE

#property indicator_color2  MediumVioletRed

#property indicator_style2  STYLE_DASHDOTDOT

#property indicator_width2  2

#property indicator_label2  "Lower TrendValue"

#property indicator_type3   DRAW_ARROW

#property indicator_color3  DeepSkyBlue

#property indicator_width3  4

#property indicator_label3  "Buy TrendValue"

#property indicator_type4   DRAW_ARROW

#property indicator_color4  Red

#property indicator_width4  4

#property indicator_label4  "Sell TrendValue"

input int    period=13;           // Moving averages period
input double shiftPercent=0;      // Horizontal shift of the indicator in percents
input int    ATRPeriod=15;        // ATR indicator period
input double ATRSensitivity=1.5;  // ATR shift sensitivity
input int    Shift=0;             // Horizontal shift of the indicator in bars

double ExtMapBufferUp[];
double ExtMapBufferDown[];
double ExtMapBufferUp1[];
double ExtMapBufferDown1[];

int ATR_Handle,HMA_Handle,LMA_Handle;

int min_rates_total;

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

   ATR_Handle=iATR(NULL,0,ATRPeriod);
   if(ATR_Handle==INVALID_HANDLE)
     {
      Print(" Failed to get handle of the ATR indicator");
      return(1);
     }

   HMA_Handle=iMA(NULL,0,period,0,MODE_LWMA,PRICE_HIGH);
   if(HMA_Handle==INVALID_HANDLE)
     {
      Print(" Failed to get handle of the HMA indicator");
      return(1);
     }

   LMA_Handle=iMA(NULL,0,period,0,MODE_LWMA,PRICE_LOW);
   if(LMA_Handle==INVALID_HANDLE)
     {
      Print(" Failed to get handle of the LMA indicator");
      return(1);
     }

   min_rates_total=ATRPeriod+period;

   SetIndexBuffer(0,ExtMapBufferUp,INDICATOR_DATA);

   PlotIndexSetInteger(0,PLOT_SHIFT,Shift);

   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);

   ArraySetAsSeries(ExtMapBufferUp,true);

   PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);

   SetIndexBuffer(1,ExtMapBufferDown,INDICATOR_DATA);

   PlotIndexSetInteger(1,PLOT_SHIFT,Shift);

   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,min_rates_total);

   ArraySetAsSeries(ExtMapBufferDown,true);

   PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);

   SetIndexBuffer(2,ExtMapBufferUp1,INDICATOR_DATA);

   PlotIndexSetInteger(2,PLOT_SHIFT,Shift);

   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,min_rates_total);

   ArraySetAsSeries(ExtMapBufferUp1,true);

   PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,EMPTY_VALUE);

   PlotIndexSetInteger(2,PLOT_ARROW,117);

   SetIndexBuffer(3,ExtMapBufferDown1,INDICATOR_DATA);

   PlotIndexSetInteger(3,PLOT_SHIFT,Shift);

   PlotIndexSetInteger(3,PLOT_DRAW_BEGIN,min_rates_total);

   ArraySetAsSeries(ExtMapBufferDown1,true);

   PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,EMPTY_VALUE);

   PlotIndexSetInteger(3,PLOT_ARROW,117);

   string shortname;
   StringConcatenate(shortname,"TrendValue(",period,", ",shiftPercent,", ",ATRPeriod,", ",ATRSensi

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

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

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

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

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

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

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