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