Группа "Стол заказов MQL"

Рейтинг 2166



РЕКОМЕНДУЮ



Советник мт5 на трех вершинах.

Здравствуйте.
HL_MultiCurrency_Stoch.ex5 (37 Kb)
HL_MultiCurrency_Stoch.mq5 (64 Kb)

Техническое задание (ТЗ)
Мультивалютный торговый робот с горизонтальными уровнями и фильтром стохастика
1. Назначение и цель системы
1.1 Назначение
Разработать автоматизированную торговую систему (советник) для MetaTrader 5, способную:

Одновременно анализировать и торговать на нескольких финансовых инструментах

Автоматически определять ключевые горизонтальные уровни поддержки/сопротивления на истории

Открывать сделки на пробой этих уровней

Фильтровать торговые сигналы с помощью индикатора стохастик

Управлять рисками через стоп-лосс, тейк-профит и трейлинг-стоп

1.2 Цель
Создать универсального робота, который:

Работает на любых таймфреймах от M15 до H4

Поддерживает различные типы инструментов (валютные пары, металлы, индексы, криптовалюты)

Минимизирует количество ложных сигналов через дополнительную фильтрацию

Обеспечивает стабильную работу в мультивалютном режиме

2. Функциональные требования
2.1 Основные функции
2.1.1 Мультивалютный режим
Возможность указания списка символов через запятую

Независимая обработка каждого символа

Параллельный мониторинг всех инструментов

Изоляция позиций по символам (не более одной позиции на символ)

2.1.2 Определение горизонтальных уровней
Алгоритм поиска:

Анализ исторических данных (настраиваемая глубина)

Выявление локальных экстремумов (вершин и впадин)

Поиск минимум двух точек с примерно одинаковой ценой

Классификация уровней:

Сопротивление: минимум 2 вершины (high) на близком уровне

Поддержка: минимум 2 впадины (low) на близком уровне

Параметры настройки:

Глубина анализа (количество баров)

Допуск уровня (в пунктах)

Минимальное расстояние между точками уровня (в барах)

2.1.3 Система торговых сигналов
Логика входа:

BUY сигнал: пробой уровня сопротивления СНИЗУ ВВЕРХ

Ценовое условие: предыдущая свеча закрылась ниже уровня, текущая цена выше уровня

Фильтр стохастика: значение < 80 И начало роста

SELL сигнал: пробой уровня поддержки СВЕРХУ ВНИЗ

Ценовое условие: предыдущая свеча закрылась выше уровня, текущая цена ниже уровня

Фильтр стохастика: значение > 20 И начало падения

Управление позициями:

Стоп-лосс (фиксированный в пунктах)

Тейк-профит (фиксированный в пунктах)

Трейлинг-стоп (опционально)

Магический номер для идентификации ордеров

2.1.4 Фильтрация стохастиком
Параметры индикатора:

Период %K (основная линия)

Период %D (сигнальная линия)

Замедление

Метод сглаживания

Цены для расчета

Логика фильтра:

Для BUY: стохастик НЕ в зоне перекупленности (<80) и показывает восходящую динамику

Для SELL: стохастик НЕ в зоне перепроданности (>20) и показывает нисходящую динамику

Возможность отключения фильтра

2.2 Дополнительные функции
2.2.1 Управление рисками
Проверка доступности символа

Проверка достаточности средств

Ограничение одной позиции на символ

Автоматическая корректировка лота под требования брокера

Проверка минимального расстояния для стоп-лосса

2.2.2 Мониторинг и логирование
Подробное логирование всех действий

Статус инициализации каждого символа

Информация о найденных уровнях

Детали открытых позиций

Обработка и запись ошибок

2.2.3 Настройки
Все параметры доступны через входные переменные

Возможность быстрой оптимизации

Сохранение настроек при перезапуске

3. Технические требования
3.1 Платформа
MetaTrader 5 (сборка 2000+)

MQL5 язык программирования

Минимальные системные требования стандартные для MT5

3.2 Архитектура
3.2.1 Основные компоненты
Инициализатор — загрузка и проверка символов

Анализатор уровней — поиск горизонтальных уровней

Сигнальный модуль — генерация торговых сигналов

Фильтр стохастика — дополнительная фильтрация сигналов

Торговый модуль — исполнение ордеров

Менеджер рисков — контроль позиций и стоп-лоссов

Логгер — запись событий и ошибок

3.2.2 Структуры данных
mql5
struct PriceLevel {
double price; // Цена уровня
datetime time1; // Время первой точки
datetime time2; // Время второй точки
int type; // Тип (1=сопротивление, -1=поддержка)
bool active; // Активность уровня
};

struct SymbolData {
string symbol; // Название символа
double pointMultiplier; // Множитель пункта
bool available; // Доступность символа
datetime lastTradeTime; // Время последней сделки
bool subscribed; // Подписка на обновления
};
3.3 Производительность
Время обработки одного символа: < 100 мс

Потребление памяти: < 100 МБ

Стабильная работа с 10+ символами одновременно

Корректная работа при частичной потере связи

3.4 Надежность
Обработка всех возможных ошибок

Автовосстановление после сбоев

Защита от повторных открытий

Контроль целостности данных

4. Входные параметры (настраиваемые)
4.1 Основные настройки
text
SymbolsList = «EURUSD,GBPUSD,USDJPY,XAUUSD» // Список символов
TimeFrame = PERIOD_H1 // Таймфрейм анализа
BarsToAnalyze = 500 // Баров для анализа истории
LevelTolerance = 10.0 // Допуск уровня в пунктах
MinBarsBetweenPoints = 10 // Мин. баров между точками уровня
4.2 Параметры торговли
text
LotSize = 0.1 // Размер лота
StopLoss = 200 // Стоп-лосс в пунктах
TakeProfit = 400 // Тейк-профит в пунктах
MagicNumber = 12345 // Магический номер
Slippage = 10 // Проскальзывание
4.3 Настройки стохастика
text
StochasticPeriodK = 14 // Период %K
StochasticPeriodD = 3 // Период %D
StochasticSlowing = 3 // Замедление
StochasticMethod = MODE_SMA // Метод сглаживания
StochasticPrice = STO_LOWHIGH // Цены для расчета
OverboughtLevel = 80 // Уровень перекупленности
OversoldLevel = 20 // Уровень перепроданности
UseStochasticFilter = true // Использовать фильтр
4.4 Дополнительные настройки
text
UseTrailingStop = false // Использовать трейлинг-стоп
TrailingStop = 100 // Размер трейлинг-стопа в пунктах
5. Алгоритмы работы
5.1 Инициализация
Парсинг списка символов

Проверка доступности каждого символа

Настройка параметров для каждого символа

Запуск таймера мониторинга

5.2 Основной цикл (каждую секунду)
text
Для каждого символа:
1. Проверка доступности символа
2. Проверка открытой позиции
3. Если позиция открыта → управление трейлинг-стопом
4. Проверка времени с последней сделки
5. Поиск горизонтальных уровней
6. Проверка пробоя уровней
7. При наличии сигнала → проверка фильтра стохастика
8. При прохождении фильтра → открытие позиции
5.3 Поиск уровней (алгоритм)
text
1. Получить N последних баров
2. Найти все локальные максимумы (вершины):
Для каждого бара i (со 2 до N-2):
Если high[i] > high[i±1] И high[i] > high[i±2] → вершина
3. Найти все локальные минимумы (впадины):
Если low[i] < low[i±1] И low[i] < low[i±2] → впадина
4. Сравнить вершины между собой:
Если разница цен ≤ LevelTolerance И
разница времени ≥ MinBarsBetweenPoints → уровень сопротивления
5. Сравнить впадины между собой:
Аналогично → уровень поддержки
6. Устранить дублирование уровней
5.4 Фильтрация стохастиком
text
Для BUY сигнала:
1. Получить текущее значение стохастика (main и signal)
2. Проверить: mainValue < OverboughtLevel (80)
3. Получить предыдущее значение
4. Проверить: текущее значение > предыдущего (растет)
5. Если все условия true → сигнал подтвержден

Для SELL сигнала:
1. Получить текущее значение стохастика
2. Проверить: mainValue > OversoldLevel (20)
3. Получить предыдущее значение
4. Проверить: текущее значение < предыдущего (падает)
5. Если все условия true → сигнал подтвержден
6. Управление рисками
6.1 Проверки перед открытием позиции
Наличие уже открытой позиции по этому символу

Достаточность свободной маржи

Минимальное и максимальное значение лота

Минимальное расстояние для стоп-лосса

Время с последней сделки (избежание частых входов)

6.2 Защитные механизмы
Автоматическая корректировка лота

Корректировка стоп-лосса при нарушении минимального расстояния

Ограничение одной позиции на символ

Трейлинг-стоп для защиты прибыли

Магический номер для идентификации своих позиций

7. Логирование и мониторинг
7.1 Уровни логирования
Инициализация — статус загрузки символов

Поиск уровней — количество найденных уровней

Сигналы — детали торговых сигналов

Сделки — параметры открытых позиций

Ошибки — подробная информация об ошибках

7.2 Формат сообщений
text
[Время] [Символ] [Тип сообщения]: [Детали]
Пример:
2024.01.01 12:00:00 EURUSD: Найдено уровней: 3 (2 сопротивления, 1 поддержка)
2024.01.01 12:05:00 EURUSD: Пробой сопротивления на уровне 1.10000
2024.01.01 12:05:01 EURUSD: BUY сигнал подтвержден стохастиком
2024.01.01 12:05:02 EURUSD: BUY order opened. Price: 1.10015, Lot: 0.1
8. Требования к тестированию
8.1 Функциональное тестирование
Проверка работы на демо-счете

Тестирование на разных таймфреймах

Проверка работы с разными типами символов

Тестирование обработки ошибок

Проверка корректности расчета уровней

8.2 Стресс-тестирование
Работа с 10+ символами одновременно

Тестирование при потере связи

Тестирование при недостатке данных

Проверка устойчивости к рыночным скачкам

8.3 Оптимизация параметров
Подбор оптимальных параметров для каждого символа

Тестирование разных наборов параметров стохастика

Оптимизация размеров стоп-лосса и тейк-профита

9. Ограничения и предупреждения
9.1 Ограничения
Требуется подключение к интернету

Необходимы исторические данные для анализа

Зависимость от настроек брокера (лоты, стоп-лоссы)

Работа только в MetaTrader 5

9.2 Предупреждения
ВАЖНО: Перед использованием на реальном счете обязательно тестирование на демо

Робот не гарантирует прибыль, возможны убытки

Необходимо понимание принципов работы торговой системы

Рекомендуется начинать с минимальных лотов

Требуется мониторинг работы системы

10. Сопровождение и поддержка
10.1 Обновления
Регулярное обновление для совместимости с новыми версиями MT5

Исправление выявленных ошибок

Добавление новых функций по запросу

10.2 Документация
Полное описание алгоритмов работы

Руководство по настройке

Примеры конфигураций для разных инструментов

Часто задаваемые вопросы (FAQ)

10.3 Техническая поддержка
Консультации по настройке

Помощь в интерпретации логов

Рекомендации по оптимизации параметров

Версия документа: 2.0
Дата создания: 2024
Статус: Утверждено
Разработчик: [Ваше имя/компания]
Клиент: [Имя клиента/компании]
  • +2
  • Просмотров: 159
  • 31 января 2026, 21:06
  • igrun
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Напишу советник МТ4 бесплатно
26 января 2026
02 февраля 2026

Брокер для ваших роботов, 15 лет на рынке

Комментарии (1)

+
0
avatar

  25  igrun Автор Сообщений: 1830 - igrun

  • 2 февраля 2026, 13:42

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий