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

Vertex

vertex_mod_3.01_alerts__arrows.mq5
Вы автор или правообладатель?

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

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

О программе

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

Поддерживает настраиваемые уровни перекупленности и перепроданности, включая экстремальные. При пересечении этих уровней индикатор может запускать уведомления различных типов.

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

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

НастройкаОписание
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 Email-уведомления — Включить отправку уведомлений по электронной почте при срабатывании условий.
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 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[];

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

int deinit()
{
   deleteArrows();

return(0);
}

int start()
{
      // код доступен только после оплаты
   }
  datetime bar_time;
  int idx, counter, offset, bar_shft, bar_cont;
  double price_high, price_close, price_low, trigger_high, trigger_low;
  double sum_up, sum_dn, complex_up, complex_dn;

  int counted = IndicatorCounted();
  if (counted < 0) return (-1);
  if (counted > 0) counted--;
  int limit = Bars - counted;
  if (limit > Processed) limit = Processed;

  for (idx = limit; idx >= 0; idx--) {
    counter = 0;
    complex_up = 0; complex_dn = 0;
    trigger_high = -999999; trigger_low  = 999999;

    while (counter < Control_Period) {
      sum_up = 0; sum_dn = 0;

      offset = idx + counter;
      bar_time = iTime(Symbol(), 0, offset);
      bar_shft = iBarShift(Symbol(), 0, bar_time, FALSE);
      bar_cont = bar_shft - Period(); if (bar_cont < 0) bar_cont = 0;

      for (int jdx = bar_shft; jdx >= bar_cont; jdx--) {   
        price_high  = iHigh(Symbol(), 0, jdx); 
        price_close = iClose(Symbol(), 0, jdx); 
        price_low   = iLow(Symbol(), 0, jdx);
        if (price_high > trigger_high) {trigger_high = price_high; sum_up += price_close;}
        if (price_low  < trigger_low ) {trigger_low  = price_low;  sum_dn += price_close;}
      }

      counter++;
      complex_up += sum_up; complex_dn += sum_dn;        
    }
    if (complex_dn != 0.0 && complex_up != 0.0) 

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

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

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

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

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

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

Стоимость полного кода
585,30₽ ≈ $7.15