Стратегия Alligator Volatility
Стратегия Alligator Volatility — это порт оригинального советника MetaTrader "Alligator vol 1.1" на платформу StockSharp. Она использует индикатор Билла Вильямса Alligator, опциональный фильтр по фракталам, сетку усредняющих ордеров в стиле мартингейл и гибкое управление рисками.
Общая логика
- Подписывается на выбранный тип свечей и рассчитывает три сглаженных скользящих средних (челюсти, зубы, губы) — компоненты индикатора Alligator.
- Фиксирует бычью фазу, когда губы находятся выше челюстей минимум на
EntryGapи при этом не опускаются ниже зубов (ExitGap). Медвежья фаза требует, чтобы челюсти доминировали над губами и оставались выше зубов. - В пределах последних
FractalBarsзавершённых свечей ищет фракталы по модели пяти свечей. Фильтр (опционально) требует пробоя свежего верхнего фрактала для покупок и нижнего — для продаж. - При появлении нового состояния Alligator отправляет рыночный ордер. Если включён мартингейл, дополнительно размещает серию лимитных ордеров с шагом, равным расстоянию до стоп-лосса.
- Управляет выходом из позиции через стоп-лосс, тейк-профит, при необходимости — трейлинг-стоп и закрытие по сигналу разворота Alligator.
Правила входа
- Обрабатываются только полностью сформированные свечи (
CandleStates.Finished). - Условия для длинных позиций:
- При активном флаге
UseAlligatorEntryстратегия ждёт, пока бычье состояние сменит медвежье, и (если требуется) пока верхний фрактал будет минимум наFractalDistancePipsпунктов выше текущей цены. - Если
UseAlligatorEntryвыключен, то (при необходимости) проверяется лишь условие по фракталам.
- При активном флаге
- Короткие позиции формируются зеркально относительно длинных.
- Параметр
ManualModeпозволяет полностью отключить автоматические сделки и управлять ордерами вручную. - При
OnlyOnePosition = trueстратегия не открывает новые сделки, если есть активная позиция.
Правила выхода
- После увеличения позиции рассчитываются исходные уровни стоп-лосса и тейк-профита на основании
StopLossPipsиTakeProfitPips, переводимых в цену через шаг котировки. - При включённом
EnableTrailingтрейлинг-стоп активируется, когда прибыль достигаетTrailingActivationPipsпунктов. Для лонгов стоп подтягивается под максимум свечей, для шортов — над минимум. - Если
UseAlligatorExit = true, позиция закрывается сразу после исчезновения соответствующего состояния Alligator (например, бычьего сигнала для лонга). - Срабатывание стопа или тейка автоматически закрывает позицию и отменяет лимитные ордера усреднения.
Мартингейл-сетка
- Параметр
EnableMartingaleвключает постановку серии лимитных ордеров после входа в сделку. - Объём каждого последующего ордера равен объёму предыдущей сделки, умноженному на
2 * MartingaleMultiplier, но не превышаетMaxVolume. - Цены ордеров сдвигаются на расстояние стоп-лосса (
StopLossPips) и корректируются наGridSpreadPipsдля учёта спрэда. - Все неисполненные лимитные ордера снимаются при смене сигнала, закрытии позиции или ручном вмешательстве.
Управление капиталом
- Объём сделки рассчитывается по формуле
equity / 1000 * RiskPerThousand. При отсутствии данных об эквити используетсяMinVolume. MaxVolumeограничивает размер как рыночного ордера, так и усредняющих заявок.- Перед отправкой заявок цены округляются к ближайшему шагу цены инструмента.
Параметры
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
CandleType |
Тип свечей для расчётов. | Таймфрейм 15 минут |
ManualMode |
Отключает автоматические входы. | false |
UseAlligatorEntry |
Требовать сигнала расширения Alligator. | true |
UseFractalFilter |
Фильтр по пробою фракталов. | false |
UseAlligatorExit |
Закрывать позицию при сворачивании Alligator. | false |
OnlyOnePosition |
Разрешать только одну позицию. | true |
EnableMartingale |
Включить сетку усреднения. | true |
EnableTrailing |
Активировать трейлинг-стоп. | true |
RiskPerThousand |
Коэффициент объёма на каждые 1000 ед. капитала. | 0.04 |
MaxVolume |
Максимальный объём ордера. | 0.5 |
MinVolume |
Минимальный объём ордера. | 0.01 |
StopLossPips / TakeProfitPips |
Расстояние до стопа и тейка в пунктах. | 80 |
TrailingStopPips |
Расстояние трейлинг-стопа. | 30 |
TrailingActivationPips |
Прибыль для включения трейлинга. | 20 |
EntryGap |
Минимальный зазор между губами и челюстью (в цене). | 0.0005 |
ExitGap |
Минимальный зазор относительно зубов (в цене). | 0.0001 |
JawPeriod / TeethPeriod / LipsPeriod |
Периоды сглаженных средних. | 13 / 8 / 5 |
JawShift / TeethShift / LipsShift |
Сдвиг линий при расчёте сигналов. | 8 / 5 / 3 |
FractalBars |
Количество свечей для поиска фракталов. | 10 |
FractalDistancePips |
Минимальная дистанция между ценой и фракталом. | 30 |
MartingaleDepth |
Число ордеров усреднения. | 10 |
MartingaleMultiplier |
Дополнительный множитель к объёму. | 1.3 |
GridSpreadPips |
Поправка на спред в сетке. | 10 |
Дополнительные замечания
- Индикатор Alligator рассчитывается по медиане свечей и использует задержку в одну свечу, чтобы исключить незавершённые значения.
EntryGapиExitGapзадаются в абсолютных ценовых величинах — подберите их с учётом шага цены инструмента.- Фильтр по фракталам повторяет стандартную пятисвечную структуру; при включении фильтра требуется накопить достаточный объём истории.
- Стратегия управляет выходами внутренне и не размещает биржевые стоп-ордеры или тейк-профиты.
- Любые ручные изменения ордеров отслеживаются: сетка автоматически очищается после исполнения, отмены или ошибки заявки.