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

Jaguar

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

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

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

О программе

Jaguar — пользовательский индикатор для MetaTrader 5, отображающий аналитический канал на основе заданного периода. Индикатор отслеживает экстремумы цены и формирует визуальные сигналы-стрелки при пробое верхней или нижней границы канала. Также поддерживается автоматическая отправка уведомлений (алерты, звуковые оповещения, электронная почта) при смене сигнального состояния.

В основе работы лежит расчёт верхней и нижней границ канала относительно экстремумов предыдущих баров с масштабированием через параметр периода и текущее значение Point. При превышении цены верхней границы генерируется сигнал «buy», при падении ниже нижней — сигнал «sell».

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

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

НастройкаОписание
Yag_Period Числовой параметр, определяющий ширину канала в единицах цены (Point). Используется для расчёта верхней и нижней границ аналитического канала.
Arrows Переключатель отображения стрелочных сигналов на графике. При значении FALSE стрелки не рисуются.
ots Целочисленный параметр-множитель для определения смещения стрелок от цены бара. Используется совместно со средним истинным диапазоном (ATR) для позиционирования стрелок.
ArrUp Цвет стрелки, отображаемой при сигнале покупки (прорыв цены выше верхней границы канала).
ArrDn Цвет стрелки, отображаемой при сигнале продажи (падение цены ниже нижней границы канала).
Получить полный код

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

#property indicator_separate_window
#property indicator_minimum -2.25
#property indicator_maximum 3.25
#property indicator_levelcolor Yellow
#property indicator_levelwidth 3
#property indicator_buffers 4
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_color3 Aqua
#property indicator_color4 DeepPink

string gs_0_76 = "0";
string gs_84 = "";
extern double Yag_Period = 0.0;
extern bool Arrows = TRUE;
extern int ots = 2;
string gs_warning_104 = "Warning";
extern color ArrUp = Aqua;//65280;
extern color ArrDn = DeepPink;//255;
bool gi_120 = TRUE;
bool gi_124 = TRUE;
bool gi_128 = TRUE;
bool gi_132 = TRUE;
bool gi_136 = FALSE;
double g_ibuf_140[];
double g_ibuf_144[];
double g_ibuf_148[];
double g_ibuf_152[];
double g_ibuf_156[];
string gs_160;
bool g_bool_168;
bool g_bool_172;
int g_timeframe_176;
string gs_nothing_180 = "nothing";
datetime g_time_188;
string gsa_192[] = {"", "", "", "", "", "", "", "", ""};
int gia_196[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};

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

int deinit() {
   if ((!g_bool_168) && Arrows) f0_8();
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   double ld_0;
   double ld_8;
   int shift_16;
   int li_20 = 1;
   int li_24 = 6;
   int li_28 = 2030;
   if ((TimeDay(TimeCurrent()) > li_20 && TimeMonth(TimeCurrent()) >= li_24 && TimeYear(TimeCurrent()) >= li_28) || (TimeMonth(TimeCurrent()) > li_24 && TimeYear(TimeCurrent()) >= li_28) ||
      TimeYear(TimeCurrent()) > li_28) return(0);
   int li_32 = IndicatorCounted();
   if (li_32 < 0) return (-1);
   if (li_32 > 0) li_32--;
   int li_36 = MathMin(Bars - li_32, Bars - 1);
   if (g_bool_172) {
      g_ibuf_152[0] = li_36 + 1;
      return (0);
   }
   if (g_bool_168 || (gs_84 == Symbol() && g_timeframe_176 == Period())) {
      ld_0 = 1;
      if (Digits == 3 || Digits == 5) ld_0 = 10;
      for (int li_40 = li_36; li_40 >= 0; li_40--) {
         if (li_40 >= Bars - 2) {
            g_ibuf_140[li_40 + 1] = Close[li_40];
            g_ibuf_144[li_40 + 1] = Close[li_40];
         } else {
            ld_8 = Close[li_40];
            g_ibuf_140[li_40] = g_ibuf_140[li_40 + 1];
            g_ibuf_144[li_40] = g_ibuf_144[li_40 + 1];
            g_ibuf_148[li_40] = g_ibuf_148[li_40 + 1];
            g_ibuf_152[li_40] = g_ibuf_152[li_40 + 1];
            g_ibuf_156[li_40] = g_ibuf_156[li_40 + 1];
            if (ld_8 > g_ibuf_140[li_40] + Yag_Period * ld_0 * Point) {
               g_ibuf_140[li_40] = ld_8;
               g_ibuf_144[li_40] = ld_8 - Yag_Period * ld_0 * Point;
               g_ibuf_152[li_40] += 1.0;
               g_ibuf_148[li_40] = 0;
            }
            if (ld_8 < g_ibuf_144[li_40] - Yag_Period * ld_0 * Point) {
               g_ibuf_144[li_40] = ld_8;
               g_ibuf_140[li_40] = ld_8 + Yag_Period * ld_0 * Point;
               g_ibuf_148[li_40] = g_ibuf_148[li_40] - 1.0;
               g_ibuf_152[li_40] = 0;
            }
            if (g_ibuf_152[li_40] > 0.0) g

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

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

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

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

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

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

Стоимость полного кода
565,90₽ ≈ $6.92