Хеджинговая стратегия Frank Ud
Обзор
Frank Ud Hedging Grid Strategy — это порт советника MetaTrader «Frank Ud» на высокоуровневый API StockSharp. Робот одновременно удерживает длинную и короткую корзины по одному инструменту и наращивает позицию по принципу мартингейла, когда цена уходит против активной корзины. Все сигналы обрабатываются по обновлениям лучшего бид/аск (Level 1), поэтому стратегия подходит для низколатентного исполнения и тикового тестирования.
Логика торговли
- Стартовое хеджирование. При отсутствии позиций стратегия мгновенно открывает рыночные покупки и продажи одинакового объёма. Каждая заявка получает стоп-лосс и тейк-профит в пунктах.
- Контроль стопов и тейков. Пока существуют обе корзины, соблюдаются их защитные уровни. Попадание цены в стоп или тейк закрывает соответствующую корзину.
- Управление одной стороной. Когда остаются только покупки или только продажи, стратегия:
- вычисляет средневзвешенную цену входа активной корзины;
- переносит общий тейк-профит на среднюю цену ± заданное расстояние;
- удаляет стоп-лосс (как и оригинальный советник, далее стратегия полагается только на тейк-профит).
- Шаг мартингейла. При движении цены против корзины больше, чем на заданный шаг, множитель объёма удваивается и создаётся новая рыночная заявка. Метод
AdjustVolumeповторяет MQL5-функциюLotCheck, подгоняя объёмы под минимальный, максимальный и шаг инструмента. - Сброс цикла. После закрытия всех позиций множитель возвращается к
1, и цикл хеджирования запускается заново.
Параметры
TakeProfitPips— расстояние между средней ценой корзины и общим тейк-профитом (по умолчанию 12 пунктов).StopLossPips— защитный стоп, применяемый только к стартовой паре заявок (по умолчанию 12 пунктов).StepPips— обратное движение цены, необходимое для добора следующей заявки (по умолчанию 16 пунктов).AutoLot— еслиtrue, используется параметрLotSize; иначе берётся минимально допустимый объём инструмента.LotSize— базовый объём для расчёта мартингейла при активномAutoLot.
Особенности реализации
- Используется высокоуровневый класс
Strategy: логика работает по подписке на Level 1, заявки отправляются черезBuyMarket/SellMarket. - Состояние корзин хранится внутри стратегии, что позволяет повторить алгоритм усреднения оригинального эксперта.
- Поле
_multiplierкопирует переменнуюCoefficientиз MQL-версии и удваивается после каждого добора, а при полном закрытии позиций сбрасывается в1. - Метод
AdjustVolumeограничивает объёмы в соответствии с шагом, минимальным и максимальным контрактом инструмента. - Для корректной работы нужен счёт с поддержкой хеджирования, потому что стратегия одновременно держит длинные и короткие позиции.
Файлы
CS/FrankUdStrategy.cs— реализация стратегии с подробными комментариями на английском языке.README.md— описание на английском.README_ru.md— текущий документ на русском.README_zh.md— описание на китайском.