|
|
|
igrun 9 августа 2026, 17:46 |
→ | Бесплатный торговый робот для безрисковой торговли на спот рынке криптовалют
(6) в Криптовалюта
алгоритм не обсуждают а вписывают в тз <>[Читать..] |
kvashnin007 31 июля 2026, 08:00 |
→ | пример моего кода 5
(24) в Стол заказов MQL
Игрун, вижу доработку. Что дум... <>[Читать..] |
kvashnin007 30 июля 2026, 18:25 |
→ | код к заказу мт5
(3) в Стол заказов MQL
Тип счета универсальный. ECN. <>[Читать..] |
kvashnin007 30 июля 2026, 16:14 |
→ | Советник в три строки. ГРААЛЬ. Ну почти.
(22) в Блог им. kvashnin007
Тему почитай. <>[Читать..] |
igrun 29 июля 2026, 20:01 |
→ | Советник OSA_Scalper_NTL МТ5 М5,М15 XAUUSD.
(1) в Блог им. zaharik100
а где исходник <>[Читать..] |
kvashnin007 29 июля 2026, 13:41 |
→ | тральщик на 2х магисто
(7) в Стол заказов MQL
Игрун, хороший ты человек. Научись правильно формулировать... <>[Читать..] |
kvashnin007 29 июля 2026, 13:29 |
→ | здравствуйте пишу тз для вас
(9) в создам тз в стол заказов
Люблю мыльные пузыри. Смотришь, любуешся… И внезапно... <>[Читать..] |
kvashnin007 29 июля 2026, 04:12 |
→ | Теория темноты.
(1) в Блог им. igrun
Выглядит, как бред. Но для бреда тоже можно создать... <>[Читать..] |
kvashnin007 29 июля 2026, 03:28 |
→ | (болванку) операционной системы для процессора Baikal-M (BE-M1000, ARMv8-A)
(3) в Стол заказов MQL
То ли матом ругаются, то ли о чем-то своем говорят. Удачи.... <>[Читать..] |
igrun 26 июля 2026, 23:11 |
→ | Финансовый стриптиз российского и иностранного портфеля
(1) в Блог им. darko
ты пошто как вражина торгуешь — вот тибе за это <>[Читать..] |

//| 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