|
|
|
OSS5 17 июня 2026, 13:47 |
→ | Cash таки Back. Пишем советник. Назовем Трахтибидох.
(43) в Блог им. kvashnin007
Привет. Вот склеил, переименовал, чтобы дальнейшие... <>[Читать..] |
zaharik100 3 июня 2026, 09:56 |
→ | Советник OSA_Scalper_NTL2 МТ4 М5 XAUUSD
(7) в Блог им. zaharik100
Понятно.OSA правду написал, что этих умников увидишь сразу.Это... <>[Читать..] |
igrun 30 мая 2026, 00:54 |
→ | (болванку) операционной системы для процессора Baikal-M (BE-M1000, ARMv8-A)
(2) в Стол заказов MQL
Андрей пишешь оси под заказ — ну плииз <>[Читать..] |
Kadosh123456789 7 мая 2026, 20:59 |
→ | Евро советник
(4) в Стол заказов MQL
Ааааа))) Я думал код подправить))) <>[Читать..] |
drona007 7 мая 2026, 20:31 |
→ | Прикрутить стрелки на график
(4) в Стол заказов MQL
Ромка, в личку загляни. <>[Читать..] |
MihaMM 7 мая 2026, 19:16 |
→ | Наконец то я его сделал!!! Индикатор IDay и советник к нему
(18) в Блог им. MihaMM
уже готов робот, оказалось все гораздо проще небольшие... <>[Читать..] |
igrun 5 мая 2026, 17:58 |
→ | alert
(13) в Стол заказов MQL
Андрей что скажешь о моем коде <>[Читать..] |
MihaMM 1 мая 2026, 20:59 |
→ | Тестовый счет для советников
(7) в Блог им. MihaMM
:: вчера были и сильные движения хорошо отработал робот... <>[Читать..] |
igrun 28 апреля 2026, 01:48 |
→ | Правка советника
(18) в Стол заказов MQL
::Multik.mq5 (13 Kb) ::Multik.ex5 (29 Kb) <>[Читать..] |
igrun 14 апреля 2026, 09:18 |
→ | Недельный обзор: XAUUSD, #SP500, #BRENT | 17 апреля 2026
(1) в Аналитика и прогнозы от компании FreshForex
что за индюки <>[Читать..] |

//| ADX Crossing.mq4
//| Amir
//+------------------------------------------------------------------+
#property copyright «Author — Amir»
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int ADXbars = 7;
extern int CountBars = 350;
extern bool EnableAlerts = true; // Параметр для включения/выключения алертов
bool SoundAlertOnce = true; // Параметр для однократного звукового алерта
//---- buffers
double val1[];
double val2[];
double b4plusdi, nowplusdi, b4minusdi, nowminusdi;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 108);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 108);
SetIndexBuffer(0, val1);
SetIndexBuffer(1, val2);
return (0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
if (CountBars >= Bars) CountBars = Bars;
SetIndexDrawBegin(0, Bars — CountBars);
SetIndexDrawBegin(1, Bars — CountBars);
int shift, counted_bars = IndicatorCounted();
//---- check for possible errors
if (counted_bars < 0)
return (-1);
//---- initial zero
if (counted_bars < 1)
{
ArrayInitialize(val1, 0.0);
ArrayInitialize(val2, 0.0);
}
bool alertSent = false; // Флаг для отслеживания отправленного алерта
for (shift = CountBars; shift >= 0; shift--)
{
b4plusdi = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_PLUSDI, shift — 1);
nowplusdi = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_PLUSDI, shift);
b4minusdi = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_MINUSDI, shift — 1);
nowminusdi = iADX(NULL, 0, ADXbars, PRICE_CLOSE, MODE_MINUSDI, shift);
// Проверка на наличие сигнала покупки
if (b4plusdi > b4minusdi && nowplusdi < nowminusdi && val1[shift] == 0.0)
{
val1[shift] = Low[shift] — 5 * Point;
if (EnableAlerts && !alertSent)
{
Alert(«Buy signal on », Symbol() );
if (SoundAlertOnce) // Если выбран однократный звуковой алерт
{
PlaySound(«alert.wav»);
alertSent = true; // Устанавливаем флаг отправленного алерта
}
}
}
// Проверка на наличие сигнала продажи
if (b4plusdi < b4minusdi && nowplusdi > nowminusdi && val2[shift] == 0.0)
{
val2[shift] = High[shift] + 5 * Point;
if (EnableAlerts && !alertSent)
{
Alert(«Sell signal on », Symbol());
if (SoundAlertOnce) // Если выбран однократный звуковой алерт
{
PlaySound(«alert.wav»);
alertSent = true; // Устанавливаем флаг отправленного алерта
}
}
}
}
return (0);
}
anubias