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

digital supdem channel.mq5

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

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

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

О программе

Индикатор отображает аналитический канал на графике цены в MetaTrader 5. Он строит три линии — верхнюю, среднюю и нижнюю, — формируя ценовой канал, а также отображает стрелки-сигналы при определённых ценовых событиях.

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

Система оповещений позволяет получать уведомления о пробитии границ канала или закрытии свечи за его пределами. Поддерживаются три канала доставки: терминал, электронная почта и push-уведомления.

Параметр расширения канала и ограничение истории в барах управляют чувствительностью и глубиной расчёта. Индикатор работает в отдельном окне графика и использует несколько расчётных буферов для отрисовки линий и стрелок.

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

НастройкаОписание
TimeFrame Таймфрейм для построения канала — параметр, определяющий основной таймфрейм расчёта канала.
HalfLength Период — целочисленный параметр, задающий длину расчётного периода для построения канала.
Price Тип цены — параметр, определяющий, какой тип цены (закрытие, открытие, максимум, минимум и т.д.) используется для расчёта.
BandsDeviations Расширение канала — числовой параметр, определяющий ширину полос канала относительно средней линии.
Interpolate Сглаживание канала — логический параметр, включающий или выключающий сглаживание линий канала.
History Ограничение истории в барах — целочисленный параметр, определяющий количество баров, используемых для расчёта.
alertsOn Разрешить оповещения — логический параметр, включающий или выключающий систему уведомлений.
alertsOnCurrent Оповещения на текущем или предыдущем баре — логический параметр, определяющий, на каком баре проверять условия для оповещений.
alertsOnHighLow Оповещения пробития канала High/Low или Close — логический параметр, определяющий, по какому ценовому уровню (максимум/минимум или закрытие) проверять пробитие границ канала.
alertsMessage Оповещение в терминале — логический параметр, включающий отображение уведомлений в окне терминала.
alertsPush Оповещение Push — логический параметр, включающий отправку push-уведомлений на мобильное устройство.
alertsEmail Оповещение на электронную почту — логический параметр, включающий отправку уведомлений на e-mail.
ChannelSetting Настройки автопостроения канала — текстовый параметр, управляющий режимом расчёта главной функции индикатора.
UseAutoChannel Использование автоматических настроек канала — логический параметр, включающий автоматический выбор таймфрейма для расчёта канала в зависимости от текущего графика.
TimeM1 Таймфрейм для построения канала на графике M1 — параметр, задающий таймфрейм для расчёта канала при отображении на минутном графике M1.
TimeM5 Таймфрейм для построения канала на графике M5 — параметр, задающий таймфрейм для расчёта канала при отображении на пятиминутном графике.
TimeM15 Таймфрейм для построения канала на графике M15 — параметр, задающий таймфрейм для расчёта канала при отображении на графике M15.
TimeM30 Таймфрейм для построения канала на графике M30 — параметр, задающий таймфрейм для расчёта канала при отображении на графике M30.
TimeH1 Таймфрейм для построения канала на графике H1 — параметр, задающий таймфрейм для расчёта канала при отображении на часовом графике H1.
TimeH4 Таймфрейм для построения канала на графике H4 — параметр, задающий таймфрейм для расчёта канала при отображении на графике H4.
TimeD1 Таймфрейм для построения канала на графике D1 — параметр, задающий таймфрейм для расчёта канала при отображении на дневном графике.
ChannelStyle Настройки стиля канала и стрелок — текстовый параметр для конфигурации визуального представления канала и символов-стрелок.
ColUpLine Цвет верхней линии канала — задаёт цвет верхней границы канала.
StyleUpLine Стиль верхней линии канала — задаёт стиль отрисовки верхней границы канала.
WidthUpLine Толщина верхней линии канала — задаёт толщину отрисовки верхней границы канала.
ColMidLine Цвет средней линии канала — задаёт цвет средней линии канала.
StyleMidLine Стиль средней линии канала — задаёт стиль отрисовки средней линии канала.
WidthMidLine Толщина средней линии канала — задаёт толщину отрисовки средней линии канала.
ColDnLine Цвет нижней линии канала — задаёт цвет нижней границы канала.
StyleDnLine Стиль нижней линии канала — задаёт стиль отрисовки нижней границы канала.
WidthDnLine Толщина нижней линии канала — задаёт толщину отрисовки нижней границы канала.
ColUpArrow Цвет верхних символов-стрелок — задаёт цвет отрисовки стрелок вверх.
StylUpArrow Стиль верхних символов — задаёт стиль отображения стрелок вверх.
WidthUpArrow Толщина верхних символов — задаёт толщину линий стрелок вверх.
ColDnArrow Цвет нижних символов-стрелок — задаёт цвет отрисовки стрелок вниз.
StylDnArrow Стиль нижних символов — задаёт стиль отображения стрелок вниз.
WidthDnArrow Толщина нижних символов — задаёт толщину линий стрелок вниз.
Получить полный код

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

#property version "";            //Версия индикатора
#property description "";        //Описание индикатора
#property strict                 //Строгий режим компиляции
#property indicator_chart_window //Вывод индикатора в окне графика
#property indicator_buffers 5    //Количество буферов для расчетов индикатора

enum PriceTypeInt
  {
   PRICE_CLOSE_1    = 0, //Цена закрытия
   PRICE_OPEN_1     = 1, //Цена открытия
   PRICE_HIGH_1     = 2, //Максимальная за период цена
   PRICE_LOW_1      = 3, //Минимальная за период цена
   PRICE_MEDIAN_1   = 4, //Медианная цена, (high+low)/2
   PRICE_TYPICAL_1  = 5, //Типичная цена, (high+low+close)/3
   PRICE_WEIGHTED_1 = 6  //Взвешенная цена закрытия, (high+low+close+close)/4
  };

enum BoolInt
  {
   Yes = 0, //Да
   No  = 1  //Нет
  };

enum StyleLineInt
  {
   STYLE_SOLID_1      = 0, //Сплошная линия
   STYLE_DASH_1       = 1, //Штриховая линия
   STYLE_DOT_1        = 2, //Пунктирная линия
   STYLE_DASHDOT_1    = 3, //Штрих-пунктирная линия
   STYLE_DASHDOTDOT_1 = 4  //Штрих-пунктирная линия с двойными точками
  };

enum StyleArrowInt
  {
   STYLE_ARROW_1  = 217, //Символ - стрелка фрактала вверх
   STYLE_ARROW_2  = 218, //Символ - стрелка фрактала вниз
   STYLE_ARROW_3  = 221, //Символ - стрелка в круге вверх
   STYLE_ARROW_4  = 222, //Символ - стрелка в круге вниз
   STYLE_ARROW_5  = 221, //Символ - тонкая стрелка вверх
   STYLE_ARROW_6  = 222, //Символ - тонкая стрелка вниз
   STYLE_ARROW_7  = 233, //Символ - толстая стрелка вверх
   STYLE_ARROW_8  = 234, //Символ - толстая стрелка вниз
   STYLE_ARROW_9  = 83,  //Символ - капля
   STYLE_ARROW_10 = 84,  //Символ - снежинка
   STYLE_ARROW_11 = 251, //Символ - крестик
   STYLE_ARROW_12 = 252, //Символ - галочка
   STYLE_ARROW_13 = 89,  //Символ - пинтограмма
   STYLE_ARROW_14 = 91,  //Символ - иньянь
   STYLE_ARROW_15 = 161, //Символ - круг
   STYLE_ARROW_16 = 164, //Символ - круг с точкой
   STYLE_ARROW_17 = 108, //Символ - большая точка
   STYLE_ARROW_18 = 159, //Символ - маленькая точка
   STYLE_ARROW_19 = 110, //Символ - большой квадрат
   STYLE_ARROW_20 = 167, //Символ - маленький квадрат
   STYLE_ARROW_21 = 117, //Символ - большой ромб
   STYLE_ARROW_22 = 119, //Символ - маленький ромб
   STYLE_ARROW_23 = 171, //Символ - звезда
   STYLE_ARROW_24 = 181  //Символ - звезда в круге
  };

extern ENUM_TIMEFRAMES TimeFrame       = PERIOD_CURRENT;                     //Таймфрейм для построения канала
extern int             HalfLength      = 55;                                 //Период
extern PriceTypeInt    Price           = PRICE_WEIGHTED_1;                   //Тип цены
extern double          BandsDeviations = 1.618;                              //Расширение канала
extern BoolInt         Interpolate     = No;                                 //Сглаживание канала
extern int             History         = 750;                                //Ограничение истории в барах
extern BoolInt         alertsOn        = No;                                 //Разрешить оповещения
extern BoolInt         alertsOnCurrent = No;                                 //Оповещения "Да" - на текущем баре "Нет" - на предыдущем
extern BoolInt         alertsOnHighLow = No;                                 //Оповещения пробития канала "Да" - High/Low "Нет" - Close
extern BoolInt         alertsMessage   = No;                                 //Оповещение в терминале
extern BoolInt         alertsPush      = No;                                 //Оповещение Push
extern BoolInt         alertsEmail     = No;                                 //Оповещение на электронную почту
extern string          ChannelSetting  = "Настройки автопостроения канала";  //Настройки автопостроения канала
extern BoolInt         UseAutoChannel  = No;                                 //Использование автоматических настроек канала
extern ENUM_TIMEFRAMES TimeM1          = PERIOD_M5;                          //Таймфрейм для построения канала на графике M1
extern ENUM_TIMEFRAMES TimeM5          = PERIOD_M30;                         //Таймфрейм для построения канала на графике M5
extern ENUM_TIMEFRAMES TimeM15         = PERIOD_H1;                          //Таймфрейм для построения канала на графике M15
extern ENUM_TIMEFRAMES TimeM30         = PERIOD_H4;                          //Таймфрейм для построения канала на графике M30
extern ENUM_TIMEFRAMES TimeH1          = PERIOD_H4;                          //Таймфрейм для построения канала на графике H1
extern ENUM_TIMEFRAMES TimeH4          = PERIOD_D1;                          //Таймфрейм для построения канала на графике H4
extern ENUM_TIMEFRAMES TimeD1          = PERIOD_W1;                          //Таймфрейм для построения канала на графике D1
extern string          ChannelStyle    = "Настройки стиля канала и стрелок"; //Настройки стиля канала и стрелок
extern color           ColUpLine       = clrDimGray;                         //Цвет верхней линии канала
extern StyleLineInt    StyleUpLine     = STYLE_DOT_1;                        //Стиль верхней линии канала
extern int             WidthUpLine     = 1;                                  //Толщина верхней линии канала
extern color           ColMidLine      = clrMaroon;                          //Цвет средней линии канала
extern StyleLineInt    StyleMidLine    = STYLE_SOLID_1;                      //Стиль средней линии канала
extern int             WidthMidLine    = 1;                                  //Толщина средней линии канала
extern color           ColDnLine       = clrDarkBlue;                        //Цвет нижней линии канала
extern StyleLineInt    StyleDnLine     = STYLE_SOLID_1;                      //Стиль нижней линии канала
extern int             WidthDnLine     = 1;                                  //Толщина нижней линии канала
extern color           ColUpArrow      = clrBlue;                            //Цвет верхних символов
extern StyleArrowInt   StylUpArrow     = STYLE_ARROW_18;                     //Стиль верхних символов
extern int             WidthUpArrow    = 1;                                  //Толщина верхних символов
extern color           ColDnArrow      = clrRed;                             //Цвет нижних символов
extern StyleArrowInt   StylDnArrow     = STYLE_ARROW_18;                     //Стиль нижних символов
extern int             WidthDnArrow    = 1;                                  //Толщина нижних символов

double             Average[];
double             TopLine[];
double             LowerLine[];
double             MediumUp[];
double             MediumDn[];
double             UpArrow[];
double             DnArrow[];
double             time_alert[];
string             NameInd;
bool               Calc = false;
bool               NoCalc  = false;
ENUM_TIMEFRAMES    TF;
ENUM_APPLIED_PRICE price;

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

int OnCalculate(const int        rates_total,     //Количество баров на текущем тике
                const int        prev_calculated, //Количество закрытых баров 
                const datetime   &time[],         //Массив времени каждого бара в истории
                const double     &open[],         //Массив цен открытия каждого бара в истории
                const double     &high[], 

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

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

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

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

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

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

Стоимость полного кода
1 169,10₽ ≈ $14.29