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

precision trend 2.mq5

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

#__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 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

precision trend 2.mq5 — пользовательский индикатор для MetaTrader 5, отображаемый в окне графика. Он рассчитывает два буфера и рисует их в виде гистограмм: один буфер соответствует восходящему направлению, другой — нисходящему. Цвета и толщина линий заданы в свойствах индикатора.

Индикатор использует входные параметры avgPeriod и sensitivity, которые влияют на расчёт аналитической линии. В коде применяется собственная функция iPrecisionTrend, возвращающая состояние направления (1 или -1), на основе которого выбирается, какой буфер и какие значения цены отображать.

Обработка данных выполняется в OnCalculate: буферы инициализируются значением EMPTY_VALUE, затем для каждого бара вычисляется направление и заполняются соответствующие элементы. Инициализация буферов и стилей отрисовки выполняется в OnInit. Других торговых или событийных функций в исходнике нет.

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

НастройкаОписание
avgPeriod Целочисленный параметр, задающий период усреднения при расчёте аналитической линии индикатора. Влияет на сглаживание и чувствительность отображаемого направления.
sensitivity Числовой параметр, задающий чувствительность расчёта. Участвует в формировании пороговых уровней, по которым определяется смена отображаемого направления.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers  2
#property indicator_color1   Green
#property indicator_color2   Red
#property indicator_width1   1
#property indicator_width2   1
#property strict

extern int    avgPeriod   = 30; // Average period
extern double sensitivity = 3;  // Sensitivity

double upBuffer[],dnBuffer[];

int OnInit()
{
      // код доступен только после оплаты
   }
void OnDeinit(const int reason) { return; }
int OnCalculate (const int       rates_total,
                 const int       prev_calculated,
                 const datetime& btime[],
                 const double&   open[],
                 const double&   high[],
                 const double&   low[],
                 const double&   close[],
                 const long&     tick_volume[],
                 const long&     volume[],
                 const int&      spread[] )
{
      // код доступен только после оплаты
   }

#define _ptInstances     1
#define _ptInstancesSize 7
double  _ptWork[][_ptInstances*_ptInstancesSize];
#define __range 0
#define __trend 1
#define __avg   2
#define __avgd  3
#define __avgu  4
#define __minc  5
#define __maxc  6
double iPrecisionTrend(const double& _high[], const double& _low[], const double& _close[], int _period, double _sensitivity, int i, int bars, int instanceNo=0)
{
   if (ArrayRange(_ptWork,0)!=bars) ArrayResize(_ptWork,bars); instanceNo*=_ptInstancesSize; int r=bars-i-1;

   _ptWork[r][instanceNo+__range] = _high[i]-_low[i];
   _ptWork[r][instanceNo+__avg]   = _ptWork[r][instanceNo+__range];
   int k=1; for (; k<_period && (r-k)>=0; k++) _ptWork[r][instanceNo+__avg] += _ptWork[r-k][instanceNo+__range];
                                               _ptWork[r][instanceNo+__avg] /= k;
                                               _ptWork[r][instanceNo+__avg] *= _sensitivity;

      if (i==(bars-1))
      {
         _ptWork[r][instanceNo+__trend] = 0;
         _ptWork[r][instanceNo+__avgd] = _close[i]-_ptWork[r][instanceNo+__avg];
         _ptWork[r][instanceNo+_

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

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

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

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

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

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

Стоимость полного кода
367₽ ≈ $4.49