Работа завершена
Техническое задание
Техническое задание на разработку Советника для MetaTrader 4
1. Введение
Проект: Создание советника в MQL4 для MetaTrader 4
Цель: Создание автоматического советника (Expert Advisor) для самостоятельной торговли и последующего тестирования в стратег-тестере MT4.
Ключевые требования: работа происходит на текущем тайм-фрейме, следование тренду по сигналам, минимальная нагрузка на систему.
2. Логика работы советника
Режим работы: полностью автоматический
Визуальное меню: в правом верхнем углу вывести небольшое меню. В котором будет отображаться текущее направление сделок “BUY/SELL” и будет кнопка “Старт/Стоп”.
При нажатии на кнопку “Стоп” - робот закрывает «по рынку» все открытые позиции и останавливает работу.
Сигналы:
Входы и выходы из сделки (на следующих за сигналом баре).
1) Определение тренда: индикатор «RSI» отображает сигнал в виде стрелки на графике при выходе в зону 0 - 20 или 80-100, значения должны изменяться в настройках.
Направление дальнейшей торговли выбирается следующим образом:
· при заходе цены в зону 0-20 на подвальном индикаторе «RSI» -> отображается сигнал BUY и тренд устанавливается в BUY
· при заходе цены в зону 80-100 на подвальном индикаторе «RSI» -> отображается сигнал SELL и тренд устанавливается в SELL
Тренд является актуальным пока его не сменит противоположное направление.
2) Перенести функционал из индикатора на PineScript (во вложении), который показывает смену направления движения графика.
Вход в Buy: если тренд BUY и есть сигнал от индикатора RSI, то ожидаем сигнал BUY от индикатора на PineScript и после его появления открывается сделка BUY.
Вход в Sell: если тренд SELL и есть сигнал от индикатора RSI, то ожидаем сигнал SELL от индикатора на PineScript и после его появления открывается сделка SELL.
Важно, лимит сделок: в опциях назначить параметр на ограничение Buy или Sell количества одновременно открытых сделок. Открытие сделок прекращается, когда количество открытых позиций в текущем направлении достигло лимита.
3) Закрытие всех позиций и разворот: при появлении на графике от подвального индикатора “RSI” противоположного сигнала (который устанавливает новый тренд), и после появления первого сигнала от индикатора на PineScript, ВСЕ открытые позиции закрываются «по рынку». После этого начинается набор позиций в новом направлении.
4) Игнорирование сигналов: Все сигналы, противоположные текущему тренду, игнорируются.
3. Управление рисками и ордерами
Объем позиции (Lot Size):
· Возможность задания фиксированного лота в настройках
· Опционально, возможность использования автоматического расчета лота (например, процент от депозита).
4. Стоп-Лосс (Stop Loss):
· Возможность отключения
· На количество пунктов ниже(выше) бара первой сделки, на котором совершен вход
5. Тейк-Профит (Take Profit):
· Возможность отключения
· На количество пунктов выше(ниже) бара первой сделки, на котором совершен вход
6. При ведении торговли на нескольких инструментах, смежные роботы не должны конфликтовать друг с другом.
7. Требования к тестированию:
· советник должен стабильно работать в Тестере Стратегий MT4
· должна быть обеспечена корректная работа на истории
8. Робот должен уметь работать на торговой платформе MetaTrader4 AMarkets и Российского брокера Финам имеющем в обозначениях торговых пар приставку. ffx, а также любых других брокеров, имеющих приставки в названии инструмента.
9. Входные параметры (ориентировочно Настройки советника):
§ Основные настройки:
· RSI_Period max - 80
· RSI_Period min - 20
· MagicNumber - Уникальный идентификатор советника (для избежания конфликтов)
· MaxPositions - Максимальное количество позиций в одном направлении
· StartStopButton - Кнопка Старт/Стоп (true/false)
§ Управление капиталом:
· UseFixedLot - Использовать фиксированный лот (true/false)
· FixedLotSize - Размер фиксированного лота
· UseAutoLot - Использовать автоматический расчет лота (true/false)
· AutoLotRisk - Процент риска для авто-лота
§ Защитные ордера:
· Use_SL - Использовать Стоп-Лосс (true/false)
· SL_Points - Размер Стоп-Лосса в пунктах от начала бара первой сделки в серии
· Use_TP - Использовать Тейк-Профит (true/false)
· TP_Points - Размер Тейк-Профита в пунктах от закрытия бара первой сделки в серии
§ Настройки индикатора PineScript:
· 1
· 2
· 3
· 4
10. ВНИМАНИЕ: Все сигналы перерисовываются, по этой причине вход только на следующем за сигналом баре. Перед выполнением действия советник еще раз проверяет наличие сигнала и только после этого что-то делает.
Нефункциональные требования
Производительность: Код должен быть оптимизирован для работы 24/7 на VPS без чрезмерной нагрузки на процессор.
Надежность: Корректная обработка ошибок связи с торговым сервером, ошибок тайм-аута, недостатка маржи.
Качество кода: Читаемый, хорошо прокомментированный код с понятной структурой.