Техническое задание на разработку советника Платформа: MetaTrader 4 Брокер: Finam Индикаторы: 2 МА с разными параметрами (1МА - быстрая, 2МА - медленная), индикатор "флэта" по согласованию с разработчиком Язык программирования: MQL4 1. Описание задачи Необходимо разработать автоматизированного торгового советника на основе пересечения двух МА в соответствии с описанными ниже параметрами. 2. Торговая стратегия Индикаторы МА: Используется стандартный индикатор MA с заданным периодом. Таймфрейм текущий, если коэффициент Кт=0 или уменьшенный на одно значение, если Кт=1. 1МА - быстрая, 2МА - медленная. Кт - коэффициент поправки значения расчетного ТФ (таймфрейма) для индикаторов МА. Кт устанавливается равным 0: -при запуске советника; -после открытия новой позиции; -по заданному в настройках времени окончания периода (время вероятной смены направления тренда, предусматривается до трех таких временных периодов). Кт=1 в заданные в настройках начала времени периода (время вероятной смены направления тренда) до окончания периода или до момента открытия новой позиции. Индикатор "флэта": при нахождении рынка в состоянии "флэта" в определенном диапазоне колебания цены (диапазон оптимизируется), индикатор запрещает открывать новую позицию. Условия для открытия и закрытия позиций: При запуске советника первый ордер открывается вручную или по появлению нового! сигнала на открытие, если заданное в настройках время для торговли разрешает. Расчет производится раз в секунду. Если 1МА пересекает 2МА снизу вверх: закрывается позиция на продажу (Sell), проверка что позиция закрылась. Затем, если индикатор "флэта" и время торговли позволяют - открывается позиция на покупку (Buy) с выставленными значениями стоп-лосс и тэйк-профит (задаются в настройках). Если 1МА пересекает 2МА сверху вниз: закрывается позиция на покупку (Buy), проверка что позиция закрылась. Затем, если индикатор "флэта" и время торговли позволяют - открывается позиция на продажу (Sell) с выставленными значениями стоп-лосс и тэйк-профит. Новую позицию можно открыть только один раз за свечу. Если индикатор "флэта" дает запрещающий сигнал, позиция не открывается. Ожидаем разрешающий сигнал. За 15 минут до выхода новостей (время задано в настройках), открытие новой позиции запрещено. За 1 час до окончания торговли открытие новой позиции запрещено. Должна поддерживаться "горячая" смена таймфрейма с сохранением необходимых параметров при перезапуске. При первом запуске советника проверять отсутствие открытых позиций по другим инструментам, при обнаружении таких - выдавать ошибку "Открыты позиции по другим инструментам, работа советника остановлена". При наступлении времени окончания торговли, советник закрывает открытую позицию. 3. Управление капиталом Размер лота: фиксированный (задается в настройках). Максимальное количество одновременно открытых позиций: в рынке может находиться только одна открытая позиция. Защита депозита от просадки: после закрытия каждой позиции, пересчитывать просадку депозита от значения на начало каждого дня. Если просадка превысит заданный в настройках процент, торговля останавливается. Уровень Stop Loss и Take Profit: Устанавливаются фиксированные уровни Stop Loss и Take Profit в настройках. Для блока торговли на новостях используются отдельные значения SL и TP или возможно использование трейлинг-стопа. 4. Дополнительные функции 4.1. Блок торговли на новостях: В настройках задается время выхода новостей (возможность задать время для трех новостей). За 15 минут до новости новые ордера открывать запрещается. Работаем в режиме On-Tick. За 30 секунд до выхода новости определяется наличие рыночного ордера. Если есть, он модифицируется - задается новый SL из настроек блока новостей. Половина объема позиции закрывается. Выставляется отложенный ордер в противоположном направлении на половину объема лота со SL и отступом из настроек блока новостей. Если рыночного ордера нет, выставляется два отложенных ордера в разных направлениях на половину объема лота со SL и отступом из настроек блока новостей. Зафиксировать цену в переменной за несколько секунд до выхода новости для использования в расчетах трейлинг-стопа. Через 1 минуту после времени выхода новости, неиспользованный отложенный ордер удаляется. Для контроля открытой позиции использовать трейлинг-стоп (использовать значение для трейлинг-стопа 20 % от разницы текущей и зафиксированной цены. Корректировать при изменении на 2-3%. Уменьшать обратно нельзя). Через 3 минуты (оптимизируется) после времени выхода новости, управление позицией передается основному алгоритму. Запрет на открытие им новой позиции снимается - можно открыть при появлении нового сигнала. 4.2. Время торговли: начало торговли по времени и время окончания торговли задаются в настройках (часы, минуты). 4.3. Уведомления: Алерт - подается при открытии позиции и при аварийной ситуации (прекращение работы советника, пропадание интернета более чем на 1 минуту); Возможность отправки уведомлений на e-mail в аварийных ситуациях. 4.4. Журналирование: Ведение лог-журнала с записью всех открытых и закрытых сделок, а также ошибок и предупреждений. 4.5. Информационная панель: в верхнем левом углу -количество завершенных сделок(синим цветом); -количество полученных пунктов (в пипсах) с совершенных сделок (зеленым если число положительное, красным- отрицательное); -кружок индикатора "флета" - открытие позиций разрешено -зеленый, запрещено - красный. 5. Оптимизация Силами заказчика 6. Примечания Таблицу с настройками пришлю отдельно. В ходе разработки возможны дополнительные уточнения и корректировки задания. Исходный код с коментариями предоставляется заказчику.