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

nrpusupertrendxarrows_mtfvalerts.mq5

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

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

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

О программе

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

Поддерживается многотаймфреймный анализ: индикатор способен получать данные с более старших таймфреймов, вызывая собственный расчёт на соответствующем периоде. Встроена система уведомлений, которая срабатывает при смене сигнала — поддерживаются всплывающие сообщения, email-рассылка, push-уведомления и звуковые сигналы.

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

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

НастройкаОписание
TimeFrame Таймфрейм — Текстовый параметр, указывающий таймфрейм для анализа (например, M1, H1, D1) или специальное значение
Nbr_Periods Количество периодов — Целое число, задающее период усреднения для расчёта волатильности
Multiplier Множитель — Числовой коэффициент, определяющий чувствительность расчёта волатильности
alertsOn Уведомления включены — Переключатель, включающий или отключающий систему уведомлений в целом
alertsOnCurrent Уведомления для текущего бара — Переключатель, определяющий, учитывать ли текущий бар при проверке условий уведомлений
alertsMessage Всплывающие сообщения — Переключатель, включающий или отключающий всплывающие сообщения при смене сигнала
alertsNotification Push-уведомления — Переключатель, включающий или отключающий push-уведомления при смене сигнала
alertsSound Звуковые сигналы — Переключатель, включающий или отключающий звуковые сигналы при смене сигнала
alertsEmail Email-уведомления — Переключатель, включающий или отключающий отправку email-уведомлений при смене сигнала
arrowthickness Толщина стрелок — Целое число, задающее толщину стрелок на графике
linethickness Толщина линий — Целое число, задающее толщину линий на графике
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red

extern string TimeFrame = "Current time frame";
extern int Nbr_Periods = 10;
extern double Multiplier = 1.7;
extern bool alertsOn = FALSE;
extern bool alertsOnCurrent = FALSE;
extern bool alertsMessage = TRUE;
extern bool alertsNotification = TRUE;
extern bool alertsSound = FALSE;
extern bool alertsEmail = FALSE;
extern int arrowthickness = 1;
extern int linethickness = 2;
double G_ibuf_128[];
double G_ibuf_132[];
double G_ibuf_136[];
double G_ibuf_140[];
double G_ibuf_144[];
string Gs_148;
bool G_bool_156;
bool G_bool_160;
int G_timeframe_164;
string Gs_nothing_168 = "nothing";
datetime G_time_176;
string Gsa_180[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};
int Gia_184[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};

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

int deinit() {
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   double iatr_12;
   double Ld_20;
   double ima_28;
   int shift_36;
   int Li_0 = IndicatorCounted();
   if (Li_0 < 0) return (-1);
   if (Li_0 > 0) Li_0--;
   int Li_4 = MathMin(Bars - Li_0, Bars - 1);
   if (G_bool_156) {
      G_ibuf_128[0] = Li_4 + 1;
      return (0);
   }
   if (G_bool_160 || G_timeframe_164 == Period()) {
      for (int Li_8 = Li_4; Li_8 >= 0; Li_8--) {
         iatr_12 = iATR(NULL, 0, Nbr_Periods, Li_8);
         Ld_20 = Close[Li_8];
         ima_28 = iMA(NULL, 0, 1, 0, MODE_SMA, PRICE_MEDIAN, Li_8);
         G_ibuf_136[Li_8] = ima_28 + Multiplier * iatr_12;
         G_ibuf_140[Li_8] = ima_28 - Multiplier * iatr_12;
         G_ibuf_144[Li_8] = G_ibuf_144[Li_8 + 1];
         if (Ld_20 > G_ibuf_136[Li_8 + 1]) G_ibuf_144[Li_8] = 1;
         if (Ld_20 < G_ibuf_140[Li_8 + 1]) G_ibuf_144[Li_8] = -1;
         if (G_ibuf_144[Li_8] > 0.0) G_ibuf_140[Li_8] = MathMax(G_ibuf_140[Li_8], G_ibuf_140[Li_8 + 1]);
         else G_ibuf_136[Li_8] = MathMin(G_ibuf_136[Li_8], G_ibuf_136[Li_8 + 1]);
         G_ibuf_128[Li_8] = EMPTY_VALUE;
         G_ibuf_132[Li_8] = EMPTY_VALUE;
         if (G_ibuf_144[Li_8] != G_ibuf_1

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

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

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

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

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

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

Стоимость полного кода
421,60₽ ≈ $5.15