Termos de Referência
Ниже представлено готовое, технически выверенное Техническое задание (ТЗ). Вы можете полностью скопировать этот текст и разместить его на бирже фриланса (например, MQL5.com в разделе «Фриланс» или на Smart-Lab).
Данное ТЗ написано на профессиональном языке, понятном разработчикам торговых систем для терминала QUIK (на языке Lua).
ТЕХНИЧЕСКОЕ ЗАДАНИЕ (ТЗ)
Разработка мультивалютного торгового робота для терминала QUIK (Lua)
Инструменты: Фьючерсы рынка FORTS (Московская биржа): BR (Brent), GOLD (Золото), MIX/MXI (Индекс Мосбиржи).
Таймфрейм: М5 (пятиминутный график).
Общая логика: Торговля ложных пробоев ключевых уровней на всплеске объема с каскадным выходом из позиции.
1. ОБЩИЕ ТРЕБОВАНИЯ И НАСТРОЙКИ
Платформа: Скрипт должен работать внутри стандартного терминала QUIK на языке Lua. Код должен быть оптимизирован под высокую скорость исполнения (миллисекунды).
Панель настроек (Глобальные переменные): В коде или через графический интерфейс должна быть возможность задать для каждого инструмента отдельно:
Max_Risk_Percent — максимальный процент от текущего баланса счета, используемый под Гарантийное Обеспечение (ГО) для данного инструмента (по умолчанию 5% на каждый инструмент, суммарно не более 15%).
Stop_Loss_Points — фиксированный размер защитного стоп-маркет ордера в пунктах инструмента (для Brent — 15 пунктов).
Take_Profit_1_Points, Take_Profit_2_Points, Take_Profit_3_Points — цели для каскадного выхода в пунктах инструмента (для Brent — 35, 60, 100 пунктов).
Volume_Multiplier — коэффициент фильтрации объема (по умолчанию 2.0).
2. БЛОК 1: РАСЧЕТ И РАЗМЕТКА УРОВНЕЙ
Робот ежедневно в 10:00:01 МСК автоматически определяет и фиксирует в памяти 4 ценовых уровня по каждому инструменту:
Day_High — Максимум предыдущего торгового дня.
Day_Low — Минимум предыдущего торгового дня.
Asia_High — Максимум текущего дня, сформированный в период с 10:00:00 до 10:59:59 МСК (утренний флэт).
Asia_Low — Минимум текущего дня, сформированный в период с 10:00:00 до 10:59:59 МСК.
До 11:00:00 МСК робот находится в режиме ожидания и сделок не совершает.
3. БЛОК 2: ТРИГГЕРЫ ВХОДА (ЛОЖНЫЙ ПРОБОЙ)
Робот сканирует рынок с 11:00:00 до 23:40:00 МСК. Сигнал формируется в секунду закрытия пятиминутной свечи (М5).
Сигнал на SHORT (Продажа):
Текущая свеча М5 заходит телом или тенью выше любого из уровней (Day_High или Asia_High).
Цена закрытия (Close) этой свечи М5 фиксируется строго ниже этого уровня (цена вернулась обратно внутрь диапазона).
Фильтр объема: Объем (Volume) данной сигнальной свечи М5 должен быть больше, чем средний объем предыдущих 5 свечей, помноженный на коэффициент Volume_Multiplier.
При выполнении всех условий робот открывает позицию SHORT по рыночной цене в первую секунду открытия следующей свечи М5. Объем сделки рассчитывается автоматически исходя из Max_Risk_Percent от текущего баланса счета.
Сигнал на LONG (Покупка):
Текущая свеча М5 заходит телом или тенью ниже любого из уровней (Day_Low или Asia_Low).
Цена закрытия (Close) этой свечи М5 фиксируется строго выше этого уровня.
Фильтр объема: Объем (Volume) данной сигнальной свечи М5 должен быть больше, чем средний объем предыдущих 5 свечей, помноженный на Volume_Multiplier.
Робот открывает позицию LONG по рыночной цене в первую секунду открытия следующей свечи.
4. БЛОК 3: СОПРОВОЖДЕНИЕ СДЕЛКИ И КАСКАДНЫЙ ВЫХОД (60% / 20% / 20%)
Сразу после открытия позиции робот обязан выставить связанную сетку ордеров на биржу:
Первичный Стоп-Лосс: Выставляется ордер типа «Стоп-маркет» объемом 100% от открытой позиции на расстоянии Stop_Loss_Points от цены входа.
Тейк-Профит 1 (60% объема позиции): Лимитный ордер на расстоянии Take_Profit_1_Points.
Событие: При исполнении Тейк-Профита 1 робот обязан в эту же секунду руками уменьшить объем оставшегося Стоп-Маркет ордера на 60% и передвинуть его в точку входа (уровень безубытка).
Тейк-Профит 2 (20% объема позиции): Лимитный ордер на расстоянии Take_Profit_2_Points.
Событие: При исполнении Тейк-Профита 2 робот обязан уменьшить объем Стоп-Маркет ордера в безубытке еще на 20%.
Тейк-Профит 3 (20% объема позиции): Лимитный ордер на расстоянии Take_Profit_3_Points.
Событие: При исполнении Тейк-Профита 3 позиция полностью закрывается, оставшийся Стоп-Маркет ордер аннулируется.
Примечание: Если цена идет против позиции и срабатывает Стоп-Маркет ордер, все выставленные лимитные Тейк-Профиты должны быть немедленно удалены скриптом. Повторный вход по этому же уровню в этот день запрещен.
5. БЛОК 4: ЭВАКУАЦИЯ И БЕЗОПАСНОСТЬ
Железный тайм-аут: В 23:40:00 МСК робот обязан принудительно закрыть по текущей рыночной цене (маркет-ордером) абсолютно все открытые позиции по всем трем инструментам.
Все активные лимитные и стоп-заявки должны быть полностью сняты. До конца текущих суток новые сделки запрещены.
Принудительный перерыв в торговле: Робот не должен совершать сделки в период с 17:15:00 до 18:15:00 МСК по средам (время выхода макроэкономической статистики США по нефти). Если в этот момент есть открытая позиция, она удерживается по правилам Блока 3, но новые входы заблокированы.
Порядок сдачи работы:
Предоставление открытого исходного кода (.lua).
Демонстрация корректной работы робота на демо-счете или тестере QUIK (проверка деления лотов на каскад 60/20/20 и модификации стоп-лосса в безубыток при срабатывании первой цели).