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

Falcon Zone

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

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

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

О программе

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

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

НастройкаОписание
forced_tf Принудительный таймфрейм — Задаёт таймфрейм для расчётов; 0 означает использование текущего периода графика.
Narrow_Bands Узкие полосы — Переключатель режима расчёта границ зон: узкий или широкий вариант.
Kill_Retouch Исключить ретуш — Удаляет зоны, которые были задеты ценой повторно, сохраняя только актуальные уровни.
Top_Color Цверхней зоны — Цвет заливки верхней (сопротивления) зоны.
Bot_Color Цвет нижней зоны — Цвет заливки нижней (поддержки) зоны.
Top_LineStyle Стиль линии верхней зоны — Стиль отображения границы верхней зоны.
Top_width Толщина верхней зоны — Толщина линии границы верхней зоны.
Bot_LineStyle Стиль линии нижней зоны — Стиль отображения границы нижней зоны.
Bot_width Толщина нижней зоны — Толщина линии границы нижней зоны.
Solid_Zones Сплочные зоны — Определяет, отображаются ли зоны как сплошная заливка на заднем плане графика.
ArrowsUpColor Цвет стрелок вверх — Цвет стрелок, указывающих на восходящие сигналы.
ArrowsDnColor Цвет стрелок вниз — Цвет стрелок, указывающих на нисходящие сигналы.
ArrowsUpCode Код стрелок вверх — Символ стрелки для восходящих сигналов.
ArrowsDnCode Код стрелок вниз — Символ стрелки для нисходящих сигналов.
ArrowsSize Размер стрелок — Размер отображаемых стрелок на графике.
AlertsMessage Сообщения — Включает вывод алертов в виде текстовых сообщений.
AlertsSound Звук — Включает воспроизведение звукового сигнала при срабатывании.
AlertsEmail Email — Включает отправку уведомлений на электронную почту.
AlertsMobile Мобильные уведомления — Включает отправку push-уведомлений на мобильное устройство.
SIGNAL_BAR Бар сигнала — Индекс бара, на котором проверяется условие формирования сигнала.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 C'255,177,32';
#property indicator_color2 C'0,113,225'

enum MYENUM
  {
   Var0,
   Var1
  };

extern int forced_tf = 0;
extern bool  Narrow_Bands = true;
extern bool  Kill_Retouch = true;
extern color Top_Color = C'255,177,32';
extern color Bot_Color = C'0,113,225';
extern ENUM_LINE_STYLE   Top_LineStyle = STYLE_SOLID;
extern int   Top_width =1;
extern ENUM_LINE_STYLE   Bot_LineStyle = STYLE_SOLID;
extern int   Bot_width =1;
input bool   Solid_Zones = true;
extern color  ArrowsUpColor   = White;
extern color  ArrowsDnColor   = White;
extern int    ArrowsUpCode   = 225;
extern int    ArrowsDnCode   = 226;
extern int    ArrowsSize     = 2;
extern bool  AlertsMessage = true;
extern bool  AlertsSound   = false;
extern bool  AlertsEmail   = false;
extern bool  AlertsMobile  = false;

input MYENUM SIGNAL_BAR     = Var0;

datetime TimeBar;

double G_ibuf_96[];
double G_ibuf_100[];
double Gd_104 = 13.0;
int Gi_112 = 8;
int Gi_116 = 5;
int G_datetime_120;
int G_time_124;
double Gd_136;
string G_symbol_144;
double Gd_152;
int G_digits_160;
int G_timeframe_164;
string Gs_168;
double Gd_176;
double Gd_184;
int G_datetime_192 = 0;

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

int deinit() {
   f0_2(Gs_168);
   Comment("");
   return (0);
}

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

void f0_1() {
   string name_4;
   f0_2(Gs_168);
   for (int Li_0 = 0; Li_0 < iBars(G_symbol_144, G_timeframe_164); Li_0++) {
      if (G_ibuf_100[Li_0] > 0.0) {
         G_datetime_120 = iTime(G_symbol_144, G_timeframe_164, Li_0);
         G_time_124 = Time[0];
         if (Narrow_Bands) Gd_136 = MathMax(iClose(G_symbol_144, G_timeframe_164, Li_0), iOpen(G_symbol_144, G_timeframe_164, Li_0));
         else Gd_136 = MathMin(iClose(G_symbol_144, G_timeframe_164, Li_0), iOpen(G_symbol_144, G_timeframe_164, Li_0));
         Gd_136 = MathMax(Gd_136, MathMax(iLow(G_symbol_144, G_timeframe_164, Li_0 - 1), iLow(G_symbol_144, G_timeframe_164, Li_0 + 1)));
         name_4 = Gs_168 + "UPFILL" + G_timeframe_164 + Li_0;
         ObjectCreate(name_4, OBJ_RECTANGLE, 0, 0, 0, 0, 0);
         ObjectSet(name_4, OBJPROP_TIME1, G_datetime_120);
         ObjectSet(name_4, OBJPROP_PRICE1, G_ibuf_100[Li_0]);
         ObjectSet(name_4, OBJPROP_TIME2, G_time_124);
         ObjectSet(name_4, OBJPROP_PRICE2, Gd_136);
         ObjectSet(name_4, OBJPROP_COLOR, Top_Color);
         ObjectSet(name_4, OBJPROP_STYLE, Top_LineStyle);
         ObjectSet(name_4, OBJPROP_WIDTH, Top_width);
         ObjectSet(name_4,OBJPROP_BACK,Solid_Zones);
      }
      if (G_ibuf_96[Li_0] > 0.0) {
         G_datetime_120 = iTime(G_symbol_144, G_timeframe_164, Li_0);
         G_time_124 = Time[0];
         if (Narrow_Bands) Gd_136 = MathMin(iClose(G_symbol_144, G_timeframe_164, Li_0), iOpen(G_symbol_144, G_timeframe_164, Li_0));
         else Gd_136 = MathMax(iClose(G_symbol_144, G_timeframe_164, Li_0), iOpen(G_symbol_144, G_timeframe_164, Li_0));
         if (Li_0 > 0) Gd_136 = MathMin(Gd_136, MathMin(iHigh(G_symbol_144, G_timeframe_164, Li_0 + 1), iHigh(G_symbol_144, G_timeframe_164, Li_0 - 1)));
         name_4 = Gs_168 + "DNFILL" + G_timeframe_164 + Li_0;
         ObjectCreate(name_4, OBJ_RECTANGLE, 0, 0, 0, 0, 0);
         ObjectSet(name_4, OBJPROP_TIME1, G_datetime_120);
         ObjectSet(name_4, OBJPROP_PRICE1, Gd_136);
         ObjectSet(name_4, OBJPROP_TIME2, G_time_124);
         ObjectSet(name_4, OBJPROP_PRICE2, G_ibuf_96[Li_0]);
         ObjectSet(name_4, OBJPROP_COLOR, Bot_Color);
         ObjectSet(name_4, OBJPROP_STYLE, Bot_LineStyle);
         ObjectSet(name_4, OBJPROP_WIDTH, Bot_width);
         ObjectSet(name_4,OBJPROP_BACK,Solid_Zones);
      }
   }
}

int f0_0() {
   if (iTime(G_symbol_144, G_timeframe_164, 0) != G_datetime_192) {
      G_datetime_192 = iTime(G_symbol_144, G_timeframe_164, 0);
      return (1);
   }
   return (0);
}

void f0_2(string As_0) {
   string name_16;
   int str_len_8 = StringLen(As_0);
   int Li_12 = 0;
   while (Li_12 < ObjectsTotal()) {
      name_16 = ObjectName(Li_12);
      if (StringSubstr(name_16, 0, str_len_8) != As_0) Li_12++;
      else ObjectDelete(name_16);
   }
}

int f0_3(double &Ada_0[], double &Ada_4[], int Ai_8, int Ai_12, int Ai_16) {
   double Ld_36;
   double Ld_44;
   double Ld_52;
   double Ld_60;
   double Ld_68;
   double Ld_76;
   int Li_84 = iBars(G_symbol_144, G_timeframe_164) - Ai_8;
   for (int Li_20 = Li_84; Li_20 >= 0; Li_20--) {
      Ld_36 = iLow(G_symbol_144, G_timeframe_164, iLowest(G_symbol_144, G_timeframe_164, MODE_LOW, Ai_8, Li_20));
      if (Ld_36 == Ld_76) Ld_36 = 0.0;
      else {
         Ld_76 = Ld_36;
         if (iLow(G_symbol_144, G_timeframe_164, Li_20) - Ld_36 > Ai_12 * Point) Ld_36 = 0.0;
         else {
            for (int Li_24 = 1; Li_24 <= Ai_16; Li_24++) {
               Ld_44 = Ada_0[Li_20 + Li_24];
               if (Ld_44 != 0.0 && Ld_44 > Ld_36) Ada_0[Li_20 + Li_24] = 0.0;
            }
         }
      }
      Ada_0[Li_20] = Ld_36;
      Ld_36 = iHigh(G_symbol_144, G_timeframe_164, iHighest(G_symbol_144, G_timeframe_164, MODE_HIGH, Ai_8, Li_20));
      if (Ld_36 == Ld_68) Ld_36 = 0.0;
      else {
         Ld_68 = Ld_36;
         if (Ld_36 - iHigh(G_symbol_144, G_timeframe_164, Li_20) > Ai_12 * Point) Ld_36 = 0.0;
         else {
            for (Li_24 = 1; Li_24 <= Ai_16; Li_24++) {
               Ld_44 = Ada_4[L

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

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

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

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

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

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

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