Торговый робот AIS1 (конверсия MQL/8700)
Общее описание
AIS1 Trading Robot — это перенос экспертной системы из файла MQL/8700/AIS1.MQ4 на платформу StockSharp. Первоначально робот рассчитан на торговлю пробоями по EURUSD на дневных барах и использует несколько таймфреймов для вычисления стопов и трейлинг-стопа. Перевод на C# сохраняет оригинальную логику, но предоставляет гибкие параметры для дальнейшей оптимизации и интеграции с инфраструктурой StockSharp.
Логика торговли
- Таймфреймы
- Основные свечи: дневные бары, на их основе формируются условия входа, исходный стоп и тейк.
- Дополнительные свечи: 4-часовые бары, их диапазон задаёт шаг трейлинг-стопа.
- Сигналы входа
- Лонг: закрытие предыдущего дня выше середины бара, а текущий ask пробивает максимум этого бара.
- Шорт: закрытие предыдущего дня ниже середины, а текущий bid пробивает минимум.
- Открывается только одна позиция; повторные сигналы игнорируются до полного выхода из сделки.
- Начальные уровни риска
- Стоп-лосс = максимум/минимум предыдущего дня ±
StopFactor × дневной диапазон. - Тейк-профит = цена входа ±
TakeFactor × дневной диапазон. - Параметр
StopBufferTicksзадаёт дополнительный отступ, если брокер требует минимальную дистанцию до стопов.
- Стоп-лосс = максимум/минимум предыдущего дня ±
- Трейлинг-стоп
- Используется диапазон последней 4-часовой свечи, умноженный на
TrailFactor. - Обновление выполняется только если цена продвинулась как минимум на
TrailStepMultiplier × спреди остаётся достаточно далеко от целевого уровня. - При падении капитала ниже допустимого уровня трейлинг временно отключается.
- Используется диапазон последней 4-часовой свечи, умноженный на
- Управление капиталом
- Размер позиции =
OrderReserve × Equity / денежный риск между входом и стопом. - Объём приводится к ограничениям инструмента (
MinVolume,MaxVolume,VolumeStep). - Ведётся учёт максимальной equity: если текущая стоимость портфеля опускается ниже доли
AccountReserve - OrderReserve, новые сделки не открываются.
- Размер позиции =
- Контроль частоты действий
- После любого открытия или обновления трейлинг-стопа запускается пауза 5 секунд, как и в оригинальной версии на MQL.
Параметры
| Параметр | Значение по умолчанию | Назначение |
|---|---|---|
AccountReserve |
0.20 | Доля капитала, которую нельзя задействовать. Определяет допустимый уровень просадки. |
OrderReserve |
0.04 | Доля капитала для одной сделки и база для расчёта объёма. |
PrimaryCandleType |
День | Таймфрейм для сигналов и статических целей. |
SecondaryCandleType |
4 часа | Таймфрейм для расчёта трейлинг-стопа. |
TakeFactor |
0.8 | Множитель дневного диапазона для тейк-профита. |
StopFactor |
1.0 | Множитель дневного диапазона для стоп-лосса. |
TrailFactor |
5.0 | Множитель 4-часового диапазона для трейлинга. |
TrailStepMultiplier |
1.0 | Множитель спреда, определяющий минимальный шаг для обновления трейлинга. |
StopBufferTicks |
0 | Дополнительное количество ценовых шагов, удерживающее стопы на безопасном расстоянии. |
Практические рекомендации
- Перед запуском укажите нужный инструмент (по умолчанию EURUSD) и портфель, чтобы стратегия могла оценивать текущий капитал.
- Для корректной работы требуются и дневные, и 4-часовые свечи. При отсутствии данных модуль входа/трейлинга не активируется.
- Стратегия подписывается на стакан заявок и использует лучшую цену bid/ask. При отсутствии стакана в качестве приближения используется цена закрытия свечи.
- Выход из позиции осуществляется рыночными заявками по факту достижения стопа или тейка, что эквивалентно серверному изменению ордеров в MetaTrader.
- Настройки
AccountReserve, задержки и риск-менеджмента можно подбирать под требования конкретного брокера.
Отличия от исходного MQL
- Вместо модификации ордеров стоп и тейк реализованы через принудительное закрытие позиции, что повторяет логику оригинального советника.
- Пересчёт риска использует
Security.PriceStepиSecurity.StepPrice. Если данные отсутствуют, применяется упрощённое соотношение 1:1 — необходимо проверить спецификацию контракта. - Добавлены подробные комментарии и описания параметров для удобства оптимизации в рамках StockSharp.
Требования
- Доступ к API StockSharp с поддержкой подписки на свечи и стакан.
- Рабочее торговое подключение для выставления заявок и мониторинга портфеля.