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

best indicator forever.mq4

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

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

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

О программе

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

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

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

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

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

НастройкаОписание
St_Ex St_Ex — Заголовок раздела настроек индикатора (текстовый разделитель)
Verbose Verbose — Подробный вывод отладочной информации
MinRange MinRange — Минимальное значение диапазона для поиска сигналов
MaxRange MaxRange — Максимальное значение диапазона для поиска сигналов
HighLowFilter HighLowFilter — Фильтр по диапазону ценовых колебаний (значение фильтра)
MaxHistoryBars MaxHistoryBars — Максимальное количество баров для анализа
AN_Ex AN_Ex — Заголовок раздела анализа торговли (текстовый разделитель)
AN_Ex2 AN_Ex2 — Подзаголовок раздела анализа торговли
AnalysisEnabled AnalysisEnabled — Включение/отключение модуля анализа торговли
DisplayProfits DisplayProfits — Отображение статистики прибыли/убытков на графике
AnalysisColor AnalysisColor — Цвет элементов аналитической информации
AnalysisLabel AnalysisLabel — Цвет подписей аналитической информации
ArrowSize ArrowSize — Размер стрелок сигналов
ArrowUpCol ArrowUpCol — Цвет стрелки бычьего сигнала
ArrowDnCol ArrowDnCol — Цвет стрелки медвежьего сигнала
UrFont UrFont — Шрифт текста на графике
UrFontSize UrFontSize — Размер шрифта текста на графике
UrFontCol UrFontCol — Цвет шрифта текста на графике
Se_Ex3 Se_Ex3 — Заголовок раздела рисования прямоугольников (текстовый разделитель)
BullRectangle BullRectangle — Цвет прямоугольника бычьего сигнала
BearRectangle BearRectangle — Цвет прямоугольника медвежьего сигнала
Alerts_ex Alerts_ex — Заголовок раздела уведомлений (текстовый разделитель)
AlertCaption AlertCaption — Текст заголовка уведомлений
DisplayAlerts DisplayAlerts — Отображение всплывающих уведомлений на экране
EmailAlerts EmailAlerts — Отправка email-уведомлений
SoundAlerts SoundAlerts — Воспроизведение звукового сигнала при срабатывании уведомления
PushAlerts PushAlerts — Отправка push-уведомлений
Получить полный код

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

/* Changes:
   Added control over arrow size
   Added control over arrow colours
   Added control of font type
   Added control of font size
   Added control of font colour
   Added PUSH notifications for Bull or Bearish signal
   Changed points to pips in the calculations and display
*/

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_color3 Red

extern string St_Ex           = "------- Indicator Settings";
extern bool   Verbose         = FALSE;
extern int    MinRange        = 5;
extern int    MaxRange        = 30;
extern int    HighLowFilter   = 10;
extern int    MaxHistoryBars  = 500;
extern string AN_Ex           = "------- Trade Analysis";
extern string AN_Ex2          = ">> Analyzes the performance of signals";
extern bool   AnalysisEnabled = TRUE;
extern bool   DisplayProfits  = TRUE;
extern color  AnalysisColor   = Magenta;
extern color  AnalysisLabel   = Aqua;
extern int    ArrowSize       = 2;
extern color  ArrowUpCol      = LightSkyBlue;
extern color  ArrowDnCol      = Tomato;
extern string UrFont          = "Tahoma";
extern int    UrFontSize      = 7;
extern color  UrFontCol       = Lime;
extern string Se_Ex3          = "------- Drawing Boxes";
extern color  BullRectangle   = LightSkyBlue;
extern color  BearRectangle   = Tomato;
extern string Alerts_ex       = "------- Alerts";
extern string AlertCaption    = "DayTrading Alert";
extern bool   DisplayAlerts   = TRUE;
extern bool   EmailAlerts     = FALSE;
extern bool   SoundAlerts     = TRUE;
extern bool   PushAlerts      = TRUE;
string        SoundFile       = "alert.wav";

double G_ibuf_188[];
double G_ibuf_192[];
double G_ibuf_196[];
double G_ibuf_200[];
double G_ibuf_204[];
bool Gi_208 = FALSE;
double Gd_212;
double G_close_220 = 0.0;
double G_close_228 = 0.0;
int G_datetime_236 = 0;
int G_datetime_240 = 0;
datetime G_time_244;
bool Gi_248 = TRUE;
double G_high_252;
double G_low_260 = 0.0;
datetime G_time_268;
datetime G_time_272 = 0;
int G_count_276;
int G_count_280;
int Gi_284;
int G_count_288 = 0;
double Gd_292 = 0.0;
int Gi_300 = 0;

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

int f0_12() {
   string name_0;
   int objs_total_8 = ObjectsTotal();
   for (int Li_12 = objs_total_8 - 1; Li_12 >= 0; Li_12--) {
      name_0 = ObjectName(Li_12);
      if (StringFind(name_0, "RMDT") != -1) ObjectDelete(name_0);
   }
   return (0);
}

int deinit() {
   f0_12();
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   double Ld_4;
   double Ld_12;
   double iatr_20;
   double Ld_28;
   double Ld_36;
   double Ld_44;
   double Ld_52;
   double Ld_60;
   double Ld_68;
   double close_76;
   double Ld_84;
   if (!Gi_208) {
      if ((!IsConnected()) && 1) return (1);
      Gi_208 = TRUE;
   }
   if (!Gi_208) return (1);
   int Li_92 = 1;
   int ind_counted_96 = IndicatorCounted();
   if (ind_counted_96 < 0) return (-1);
   int Li_100 = Bars - 1 - ind_counted_96;
   for (int Li_104 = Li_100; Li_104 >= Li_92; Li_104--) {
      if (Li_104 <= MaxHistoryBars) {
         Ld_4 = f0_1(Li_104, HighLowFilter);
         Ld_12 = f0_8(Li_104, HighLowFilter);
         iatr_20 = iATR(Symbol(), 0, 50, Li_104);
         Gd_212 = iatr_20 / 100.0;
         Ld_28 = 8.0 * Gd_212;
         Ld_36 = f0_14(Li_104);
         Ld_44 = f0_2(Li_104);
         Ld_52 = f0_9(Li_104);
         G_ibuf_204[Li_104] = G_ibuf_204[Li_104 + 1];
         G_ibuf_200[Li_104] = EMPTY_VALUE;
         close_76 = Close[Li_104];
         Ld_84 = 1;
         for (int Li_108 = MinRange; Li_108 <= MaxRange; Li_108++) {
            Ld_60 = f0_1(Li_104, Li_108);
            Ld_68 = f0_8(Li_104, Li_108);
            if (f0_16(Li_104, Li_108) && Verbose && G_ibuf_204[Li_104] == 0.0 && (Ld_60 >= Ld_4 || High[Li_104] >= Ld_4 || 0)) {
               if (!(f0_0(Li_104, Li_108 + 1, BullRectangle, 0, 0))) break;
               G_ibuf_200[Li_104] = 0;
               G_ibuf_204[Li_104] = 0;
               break;
            }
            if (f0_7(Li_104, Li_108) && Verbose && G_ibuf_204[Li_104] == 1.0 && (Ld_68 <= Ld_12 || Low[Li_104] <= Ld_4 || 0)) {
               if (!(f0_0(Li_104, Li_108 + 1, BearRectangle, 0, 0))) break;
               G_ibuf_200[Li_104] = 1;
               G_ibuf_204[Li_104] = 1;
               break;
            }
            if (f0_16(Li_104, Li_108) && 1 && ((G_ibuf_204[Li_104] != 0.0) || (G_ibuf_204[Li_104] == 0.0 && G_close_220 > close_76)) && (Ld_68 <= Ld_12 || Low[Li_104] <= Ld_4 || 0)) {
               if (G_ibuf_204[Li_104] == 0.0 && G_close_220 > close_76) Ld_84 = 0;
               else Ld_84 = 1;
               if (!(f0_0(Li_104, Li_108 + 1, BullRectangle, 1, Ld_84))) break;
               f0_5();
               G_close_220 = close_76;
               G_ibuf_200[Li_104] = 0;
               G_ibuf_204[Li_104] = 0;
               break;
            }
            if (f0_7(Li_104, Li_108) && 1 && ((G_ibuf_204[Li_104] != 1.0) || (G_ibuf_204[Li_104] == 1.0 && G_close_228 < close_76)) && (Ld_60 >= Ld_4 || High[Li_104] >= Ld_4 || 0)) {
               if (G_ibuf_204[Li_104] == 1.0 && G_close_228 < close_76) Ld_84 = 0;
               else Ld_84 = 1;
               if (!(f0_0(Li_104, Li_108 + 1, BearRectangle, 1, Ld_84))) break;
               f0_5();
               G_close_228 = close_76;
               G_ibuf_200[Li_104] = 1;
               G_ibuf_204[Li_104] = 1;
               break;
            }
            if (f0_17(Li_104, Li_108) && 1 && ((G_ibuf_204[Li_104] != 0.0) || (G_ibuf_204[Li_104] == 0.0 && G_close_220 > close_76)) && (Ld_68 <= Ld_12 || Low[Li_104] <= Ld_4 || 0)) {
               if (G_ibuf_204[Li_104] == 0.0 && G_close_220 > close_76) Ld_84 = 0;
               else Ld_84 = 1;
               if (!(f0_0(Li_104, Li_108 + 1, BullRectangle, 1, Ld_84))) break;
               f0_5();
               G_close_220 = close_76;
               G_ibuf_200[Li_104] = 0;
               G_ibuf_204[Li_104] = 0;
               break;
            }
            if (f0_13(Li_104, Li_108) && 1 && ((G_ibuf_204[Li_104] != 1.0) || (G_ibuf_204[Li_104] == 1.0 && G_close_228 < close_76)) && (Ld_60 >= Ld_4 || High[Li_104] >= Ld_4 || 0)) {
               if (G_ibuf_204[Li_104] == 1.0 && G_close_228 < close_76) Ld_84 = 0;
               else Ld_84 = 1;
               if (!(f0_0(Li_104, Li_108 + 1, BearRectangle, 1, Ld_84))) break;
               f0_5();
               G_close_228 = close_76;
               G_ibuf_200[Li_104] = 1;
               G_ibuf_204[Li_104] = 1;
               break;
            }
         }
         if (AnalysisEnabled) f0_3(Li_104);
      }
   }
   if (G_time_24

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

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

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

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

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

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

Стоимость полного кода
1 081,60₽ ≈ $13.22