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