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

vertex-mod-3-01-alerts-arrows-mtf.mq5

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

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

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

О программе

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

Индикатор поддерживает работу на выбранном таймфрейме, отличном от текущего: в этом случае значения пересчитываются через повторный вызов самого себя на указанном таймфрейме. Доступны уведомления о событиях: всплывающее сообщение, звуковой сигнал, push-уведомление и письмо на e-mail. Уведомления могут срабатывать при пересечении обычных или экстремальных уровней, а также на текущем баре или на закрытом.

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

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм, на котором рассчитывается индикатор.
Processed Обрабатываемых баров — Ограничение количества обрабатываемых баров.
Control_Period Период контроля — Количество шагов, учитываемых при расчёте аналитической кривой.
Signal_Period Период сигнальной линии — Период сглаживания линии сигнала.
Signal_Method Метод сигнальной линии — Метод сглаживания для линии сигнала.
BB_Up_Period Период верхней границы BB — Период расчёта верхней границы полос Боллинджера.
BB_Up_Deviation Отклонение верхней границы BB — Отклонение для верхней границы полос Боллинджера, применяемой к аналитической кривой.
BB_Dn_Period Период нижней границы BB — Период расчёта нижней границы полос Боллинджера.
BB_Dn_Deviation Отклонение нижней границы BB — Отклонение для нижней границы полос Боллинджера, применяемой к аналитической кривой.
levelOb Уровень перекупленности — Обычный уровень перекупленности.
levelOs Уровень перепроданности — Обычный уровень перепроданности.
extremelevelOb Экстремальный уровень перекупленности — Экстремальный уровень перекупленности.
extremelevelOs Экстремальный уровень перепроданности — Экстремальный уровень перепроданности.
alertsOn Включить оповещения — Включение уведомлений о событиях.
alertsOnObOs Оповещения по уровням — Уведомления при пересечении обычных уровней перекупленности и перепроданности.
alertsOnExtremeObOs Оповещения по экстремальным уровням — Уведомления при пересечении экстремальных уровней перекупленности и перепроданности.
alertsOnCurrent Оповещения на текущем баре — Срабатывание уведомлений на текущем баре вместо закрытого.
alertsMessage Всплывающее сообщение — Вывод всплывающего сообщения при событии.
alertsSound Звуковое оповещение — Воспроизведение звукового сигнала при событии.
alertsEmail Оповещение по email — Отправка уведомления на e-mail при событии.
alertsNotify Push-уведомление — Отправка push-уведомления при событии.
soundfile Звуковой файл — Имя звукового файла для звукового оповещения.
arrowsVisible Показывать стрелки — Отображение стрелок на графике.
arrowsIdentifier Идентификатор стрелок — Префикс имён графических объектов стрелок.
arrowsUpperGap Верхний отступ стрелок — Отступ стрелки вверх от бара.
arrowsLowerGap Нижний отступ стрелок — Отступ стрелки вниз от бара.
arrowsOnObOs Стрелки по уровням — Отображение стрелок при пересечении обычных уровней.
arrowsObOsUpColor Цвет стрелки вверх (уровни) — Цвет стрелки вверх для обычных уровней.
arrowsObOsDnColor Цвет стрелки вниз (уровни) — Цвет стрелки вниз для обычных уровней.
arrowsObOsUpCode Код стрелки вверх (уровни) — Код символа стрелки вверх для обычных уровней.
arrowsObOsDnCode Код стрелки вниз (уровни) — Код символа стрелки вниз для обычных уровней.
arrowsObOsUpSize Размер стрелки вверх (уровни) — Размер стрелки вверх для обычных уровней.
arrowsObOsDnSize Размер стрелки вниз (уровни) — Размер стрелки вниз для обычных уровней.
arrowsOnExtremeObOs Стрелки по экстремальным уровням — Отображение стрелок при пересечении экстремальных уровней.
arrowsExtremeObOsUpColor Цвет стрелки вверх (экстремальные) — Цвет стрелки вверх для экстремальных уровней.
arrowsExtremeObOsDnColor Цвет стрелки вниз (экстремальные) — Цвет стрелки вниз для экстремальных уровней.
arrowsExtremeObOsUpCode Код стрелки вверх (экстремальные) — Код символа стрелки вверх для экстремальных уровней.
arrowsExtremeObOsDnCode Код стрелки вниз (экстремальные) — Код символа стрелки вниз для экстремальных уровней.
arrowsExtremeObOsUpSize Размер стрелки вверх (экстремальные) — Размер стрелки вверх для экстремальных уровней.
arrowsExtremeObOsDnSize Размер стрелки вниз (экстремальные) — Размер стрелки вниз для экстремальных уровней.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers    4
#property indicator_color1     Red
#property indicator_color2     Blue
#property indicator_color3     Gray
#property indicator_color4     Gray
#property indicator_levelcolor MediumOrchid

extern ENUM_TIMEFRAMES TimeFrame=PERIOD_CURRENT;
extern int Processed        = 2000;
extern int Control_Period   = 14;

extern int Signal_Period    = 5;
extern int Signal_Method    = MODE_SMA;

extern int BB_Up_Period     = 12;
extern int BB_Up_Deviation  = 2;

extern int BB_Dn_Period     = 12;
extern int BB_Dn_Deviation  = 2;

extern double levelOb                  = 6;
extern double levelOs                  = -6;
extern double extremelevelOb           = 10;
extern double extremelevelOs           = -10;

extern bool   alertsOn                 = true;
extern bool   alertsOnObOs             = false;
extern bool   alertsOnExtremeObOs      = true;
extern bool   alertsOnCurrent          = false;
extern bool   alertsMessage            = true;
extern bool   alertsSound              = true;
extern bool   alertsEmail              = false;
extern bool   alertsNotify             = false;
extern string soundfile                = "alert2.wav";

extern bool   arrowsVisible            = true;
extern string arrowsIdentifier         = "vertex arrows1";
extern double arrowsUpperGap           = 1.0;
extern double arrowsLowerGap           = 1.0;

extern bool   arrowsOnObOs             = true;
extern color  arrowsObOsUpColor        = LimeGreen;
extern color  arrowsObOsDnColor        = Red;
extern int    arrowsObOsUpCode         = 241;
extern int    arrowsObOsDnCode         = 242;
extern int    arrowsObOsUpSize         = 1;
extern int    arrowsObOsDnSize         = 1;

extern bool   arrowsOnExtremeObOs      = true;
extern color  arrowsExtremeObOsUpColor = DeepSkyBlue;
extern color  arrowsExtremeObOsDnColor = PaleVioletRed;
extern int    arrowsExtremeObOsUpCode  = 159;
extern int    arrowsExtremeObOsDnCode  = 159;
extern int    arrowsExtremeObOsUpSize  = 5;
extern int    arrowsExtremeObOsDnSize  = 5;

double values[];
double signal[];
double band_up[];
double band_dn[];
double trend1[];
double trend2[];
string indicatorFileName;
bool   returnBars;

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

int deinit()
{
   deleteArrows();

return(0);
}

int start()
{
      // код доступен только после оплаты
   }
   int 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) { values[0] = limit+1; return(0); }
            if (TimeFrame!=_Period)
            {
               limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
               for (int i=limit; i>=0; i--)
               {
                   int y = iBarShift(NULL,TimeFrame,Time[i]);  
                     values[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Processed,Control_Period,Signal_Period,Signal_Method,BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,levelOb,levelOs,extremelevelOb,extremelevelOs,
                              alertsOn,alertsOnObOs,alertsOnExtremeObOs,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,soundfile,arrowsVisible,arrowsIdentifier,arrowsUpperGap,arrowsLowerGap,
                              arrowsOnObOs,arrowsObOsUpColor,arrowsObOsDnColor,arrowsObOsUpCode,arrowsObOsDnCode,arrowsObOsUpSize,arrowsObOsDnSize,arrowsOnExtremeObOs,arrowsExtremeObOsUpColor,arrowsExtremeObOsDnColor,
                              arrowsExtremeObOsUpCode,arrowsExtremeObOsDnCode,arrowsExtremeObOsUpSize,arrowsExtremeObOsDnSize,0,y);             
                     signal[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Processed,Control_Period,Signal_Period,Signal_Method,BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,levelOb,levelOs,extremelevelOb,extremelevelOs,
                              alertsOn,alertsOnObOs,alertsOnExtremeObOs,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,soundfile,arrowsVisible,arrowsIdentifier,arrowsUpperGap,arrowsLowerGap,
                              arrowsOnObOs,arrowsObOsUpColor,arrowsObOsDnColor,arrowsObOsUpCode,arrowsObOsDnCode,arrowsObOsUpSize,arrowsObOsDnSize,arrowsOnExtremeObOs,arrowsExtremeObOsUpColor,arrowsExtremeObOsDnColor,
                              arrowsExtremeObOsUpCode,arrowsExtremeObOsDnCode,arrowsExtremeObOsUpSize,arrowsExtremeObOsDnSize,1,y);             
                     band_up[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Processed,Control_Period,Signal_Period,Signal_Method,BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,levelOb,levelOs,extremelevelOb,extremelevelOs,
                              alertsOn,alertsOnObOs,alertsOnExtremeObOs,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,alertsNotify,soundfile,arrowsVisible,arrowsIdentifier,arrowsUpperGap,arrowsLowerGap,
                              arrowsOnObOs,arrowsObOsUpColor,arrowsObOsDnColor,arrowsObOsUpCode,arrowsObOsDnCode,arrowsObOsUpSize,arrowsObOsDnSize,arrowsOnExtremeObOs,arrowsExtremeObOsUpColor,arrowsExtremeObOsDnColor,
                              arrowsExtremeObOsUpCode,arrowsExtremeObOsDnCode,arrowsExtremeObOsUpSize,arrowsExtremeObOsDnSize,2,y);             
                     band_dn[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Processed,Control_Period,Signal_Period,Signal_Method,BB_Up

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

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

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

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

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

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

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