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

nwe double.mq5

Вы автор или правообладатель?

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

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

О программе

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

В основе расчёта лежит сглаживание ценовых данных с использованием экспоненциального ядра. Для каждого бара вычисляется взвешенное среднее на основе функции экспоненциального сглаживания, а затем определяется средняя абсолютная ошибка, которая масштабируется заданными множителями для формирования границ каналов.

Индикатор предоставляет настраиваемые параметры: количество баров для расчёта, ширину ядра сглаживания, множители для каждого канала, тип цены для усреднения и период скользящей средней. Все параметры задаются через стандартный интерфейс настроек MetaTrader 5.

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

НастройкаОписание
Length Задаёт количество баров, используемых для расчёта индикатора. Чем больше значение, тем более сглаженными будут результаты. Также влияет на диапазон расчёта средней абсолютной ошибки.
Bandwidth Определяет ширину ядра экспоненциального сглаживания, влияющую на степень сглаживания расчётных значений. Используется в формуле весового коэффициента при вычислении взвешенного среднего.
Multiplayer1 Задаёт множитель, определяющий ширину первого канала относительно расчётной средней. Увеличение значения расширяет верхнюю и нижнюю границы первого канала.
Multiplayer2 Задаёт множитель, определяющий ширину второго канала относительно расчётной средней. Увеличение значения расширяет верхнюю и нижнюю границы второго канала.
applied_price Выбирает тип цены, используемый для расчёта экспоненциальной скользящей средней (EMA). Доступны стандартные типы: закрытие, открытие, высокая, низкая цена и другие.
period Задаёт период экспоненциальной скользящей средней (EMA), используемой в расчётах. Если значение меньше или равно нулю, автоматически устанавливается значение 1.
Получить полный код

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

#property strict

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_LINE
#property indicator_type4   DRAW_LINE
#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  2
#property indicator_width4  2
#property indicator_color1  clrBrown
#property indicator_color2  clrTeal
#property indicator_color3  clrBrown
#property indicator_color4  clrTeal

input int                Length            = 100;          // Количество баров для расчета
input int                Bandwidth         = 8;            // Ширина ядра сглаживания
input double             Multiplayer1      = 3;            // Множитель для 1-го канала
input double             Multiplayer2      = 3.5;          // Множитель для 2-го канала
input ENUM_APPLIED_PRICE applied_price     = PRICE_CLOSE;  // Цена для усреднения
input int                period            = 1;            // Период усреднения

double                   ExtUpBuffer1[];
double                   ExtDownBuffer1[];
double                   ExtUpBuffer2[];
double                   ExtDownBuffer2[];
double                   y[];
int                      avgper;

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

   avgper = period;
   if(period <= 0)
      avgper = 1;
   IndicatorBuffers(5);

   SetIndexBuffer(0, ExtUpBuffer1);
   SetIndexBuffer(1, ExtDownBuffer1);
   SetIndexBuffer(2, ExtUpBuffer2);
   SetIndexBuffer(3, ExtDownBuffer2);
   SetIndexBuffer(4, y);

   SetIndexEmptyValue(0, EMPTY_VALUE);
   SetIndexEmptyValue(1, EMPTY_VALUE);
   SetIndexEmptyValue(2, EMPTY_VALUE);
   SetIndexEmptyValue(3, EMPTY_VALUE);

   string short_name = StringFormat("Двойной Канал Нарая [%d]", Length);
   IndicatorSetString(INDICATOR_SHORTNAME, short_name);
   SetIndexLabel(0

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

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

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

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

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

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

Стоимость полного кода
255,40₽ ≈ $3.12