Trabajo finalizado
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Tarea técnica
Техническое задание RU
Нужен советник для MT5.
Нужен советник с открытым кодом, в коде которого будут указаны на русском пояснения, где нужно изменить параметр индикатора, сигнала, чтобы подстраивать под себя советника, в случае надобности и отсутствия некоторых параметров в настройках советника МТ5 .
Основной задачей данной работы является существенная доработка уже существующего советника.
Основой стратегии является советник SupportResistTrade. Скачать бесплатно эксперт 'SupportResistTrade' от 'barabashkakvn' для MetaTrader 5 в MQL5 Code Base, 2017.02.07
Описание советника из первоначального источника:
“Автор идеи: Oleksandr
Автор MQL5-кода: barabashkakvn
Перед открытием/закрытием позиции проводится простейший анализ рынка, который определяет уровни поддержки/сопротивления, а также направление тренда — бычий/медвежий.
Уровни поддержки/сопротивления проводятся по последним numBars барам.
Тренд определяется с помощью индикатора Moving Average (период задается параметром maPeriod): если цена ниже МА, тогда медвежий тренд, иначе — бычий.
- Если тренд определяется как бычий, то позиция открывается при пробитии уровня сопротивления;
- Если тренд медвежий, тогда позиция открывается при пробитии уровня поддержки.
Закрытие позиции происходит по StopLoss, который ставится либо по уровню поддержки (если открыта длинная позиция), либо по уровню сопротивления (если открыта короткая позиция). Также возможно закрытие при пробитии уровня поддержки (если открыта длинная позиция и позиция находится в безубытке), или при пробитии уровня сопротивления (если открыта короткая позиция и позиция находится в безубытке).
В советнике используется примитивный TrailingStop с уровнями 10, 20, 30 пунктов. “
Необходимо сделать следующее:
- Добавить возможность принудительного закрытия всех позиций ордером по рынку (необходима отдельная кнопка).
- Также добавить возможность принудительного закрытия только позиций от советника.
- Возможность изменение параметров «шаг» / «стоп»
- Сделать чек с включением / отключением автоматического закрытия всех позиций при достижении депозитом определённого профита (в процентах), который укажет пользователь. (например изначально депо 10000, пользователь указал 30%, соответственно при достижении депо 13000 – все позиции автоматически закроются по рынку – по дефолту отключен (0).
- Сделать пункт с максимально возможной просадкой (в процентах), при которой советник торгует. При достижении просадки все позиции ликвидируются по рынку. (% устанавливает пользователь – по дефолту отключен (0)).
- Сделать возможность отключать / включать изначальный трейлинг стоп и добавить процентный трейлинг стоп по средствам (также может задать пользователь если необходимо – по дефолту отключен). В общем будет 2 вида трейлинг стопа.
- При отключении авто-трейдинга, все позиции должны автоматически закрыться по рынку.
- Сделать так, чтобы пользователь сам выбирал тип скользящей средней для советника.
- Предоставить возможность выбора дней недели, когда советник торгует, а когда нет.
Немало важные моменты:
- Советник должен полностью игнорировать все "чужие" позиции. Система должна быть самодостаточной, торговые действия других советников или пользователя на нее влиять не должны.
- При запуске на счете советник должен создать на графике кнопку, разрешающую торговлю. Работа должна начинаться только после того, как пользователь на нее нажмет.
- В случае возникновения критической ошибки советника необходимо поставить пользователя в известность (сообщением на экран) - где советник заглючил, чтобы можно было обратиться к разработчику за помощью. Ошибки советника - бесплатная помощь разработчика.
- Советник должен уметь восстанавливать нормальное функционирование после временного разрыва связи, переподключения к счету или перезапуска терминала.
- Все функции, оперирующие размером депозита (например, расчет лота), должны нормально воспринимать неторговые операции с балансом (внесение или списание средств).
Если будут вопросы - по ходу будем решать.