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

half trend new alert.mq5

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

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

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

О программе

«Half Trend New Alert» — это пользовательский индикатор для платформы MetaTrader 5, отображающий аналитическую линию и стрелки на графике цены. Индикатор рассчитывает две скользящие средние (по ценам High и Low) с заданным периодом амплитуды и на основе их соотношения с предыдущим значением линии определяет направление тренда, отмечая смены стрелками вверх и вниз.

Линия индикатора рисуется цветной: оранжево-красным при нисходящем тренде и глубокого синего при восходящем. Смены тренда дополнительно отмечаются стрелками с настраиваемым вертикальным смещением в пикселях; коды стрелок задаются символами шрифта Wingdings.

Индикатор поддерживает систему уведомлений о смене тренда: всплывающие алерты, звуковые сигналы, отправку электронной почты и push-уведомлений. Все типы уведомлений и параметры звука (количество повторений, пауза) настраиваются пользователем отдельными переключателями.

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

НастройкаОписание
InpAmplitude Амплитуда (количество баров) для расчёта скользящих средних по ценам High и Low
InpCodeUpArrow Код символа стрелки для восходящего тренда (шрифт Wingdings)
InpCodeDnArrow Код символа стрелки для нисходящего тренда (шрифт Wingdings)
InpShift Вертикальное смещение стрелок в пикселях от ценового графика
InpSoundName Имя звукового файла, воспроизводимого при смене тренда
InpSoundRepetitions Количество повторений звукового сигнала при смене тренда
InpSoundPause Пауза в секундах между последовательными звуковыми сигналами
InpUseSound Включает или отключает воспроизведение звукового файла при смене тренда
InpUseAlert Включает или отключает всплывающие уведомления (Alert) при смене тренда
InpUseMail Включает или отключает отправку уведомлений по электронной почте
InpUseNotification Включает или отключает отправку push-уведомлений на устройство
Получить полный код

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

#property version   "1.000"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_plots   3

#property indicator_label1  "Line"
#property indicator_type1   DRAW_COLOR_LINE
#property indicator_color1  clrOrangeRed,clrDeepSkyBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  3

#property indicator_label2  "Up"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrDeepSkyBlue
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_label3  "Down"
#property indicator_type3   DRAW_ARROW
#property indicator_color3  clrOrangeRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1

input int                  InpAmplitude            = 5;           // Amplitude
input group             "Arrow"
input uchar                InpCodeUpArrow          = 233;         // Arrow code for 'UpArrow' (font Wingdings)
input uchar                InpCodeDnArrow          = 234;         // Arrow code for 'DnArrow' (font Wingdings)
input int                  InpShift                = 10;          // Vertical shift of arrows in pixel
input group             "Alerts"
input string               InpSoundName            = "alert.wav"; // Sound Name
input uchar                InpSoundRepetitions     = 3;           // Repetitions
input uchar                InpSoundPause           = 3;           // Pause, in seconds
input bool                 InpUseSound             = false;       // Use Sound
input bool                 InpUseAlert             = true;        // Use Alert
input bool                 InpUseMail              = true;        // Use Send mail
input bool                 InpUseNotification      = true;        // Use Send notification

double   LineBuffer[];
double   LineColors[];
double   UpBuffer[];
double   DownBuffer[];
double   HighestBuffer[];
double   LowestBuffer[];
double   MA_PRICE_HIGH_Buffer[];
double   MA_PRICE_LOW_Buffer[];

int      handle_iMA_PRICE_HIGH;              // variable for storing the handle of the iMA indicator
int      handle_iMA_PRICE_LOW;               // variable for storing the handle of the iMA indicator
int      bars_calculated            = 0;
int      m_start_bar                = 0;     // start bar
bool     m_init_error               = false; // error on InInit

datetime m_last_sound      = 0;        // "0" -> D'1970.01.01 00:00';
uchar    m_repetitions     = 0;        //
string   m_text            = "";       //
datetime m_prev_bars       = 0;        // "0" -> D'1970.01.01 00:00';

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

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

   int values_to_copy;

   int calculated_ma_high=BarsCalculated(handle_iMA_PRICE_HIGH);
   if(calculated_ma_high<=0)
     {
      PrintFormat("BarsCalculated(handle_iMA_PRICE_HIGH) returned %d, error code %d",calculated_ma_high,GetLastError());
      return(0);
     }

   int calculated_ma_low=BarsCalculated(handle_iMA_PRICE_LOW);
   if(calculated_ma_low<=0)
     {
      PrintFormat("BarsCalculated(handle_iMA_PRICE_LOW) returned %d, error code %d",calculated_ma_low,GetLastError());
      return(0);
     }
   if(calculated_ma_high!=calculated_ma_low)
     {
      PrintFormat("BarsCalculated(handle_iMA_PRICE_HIGH) returned %d, BarsCalculated(handle_iMA_PRICE_LOW) returned %d",calculated_ma_high,calculated_ma_low);
      return(0);
     }
   int calc

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

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

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

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

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

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

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