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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.