Стратегия Gselector Pattern Probability
Описание
Gselector Pattern Probability — порт советника MetaTrader 4 «Gselector» на StockSharp. Стратегия строит синтетические ценовые лестницы для нескольких величин шага, отслеживает вероятности продолжения движения для каждого обнаруженного паттерна и открывает позиции, когда вероятность достаточна. Стоп-лосс и тейк-профит моделируются программно, чтобы повторить логику оригинального эксперта.
Процесс обучения
- Синтетические лестницы — для каждого множителя дельты стратегия фиксирует последнюю цену закрытия каждый раз, когда рынок проходит требуемое расстояние.
- Кодирование паттернов — создаётся битовая маска сравнением соседних значений в лестнице. Падение соответствует «1», рост — «0», что воспроизводит расчёт
Ncombв коде MQL. - Отслеживание событий — при появлении нового паттерна запускаются наблюдатели для всех уровней стопов. Наблюдатель хранит цену старта и ждёт, пока рынок сдвинется вверх или вниз на заданное расстояние.
- Обновление вероятностей — при завершении наблюдателя рост увеличивает счётчик
Growth, падение —Decline. Коэффициент забывания (ForgetFactor) имитирует деление наforgиз оригинала. - Память в рамках сессии — статистика хранится в оперативной памяти и обнуляется при старте стратегии, что соответствует работе советника при
ReadHistory=0.
Торговые правила
- Для текущего паттерна вычисляются вероятности продолжения на каждой лестнице.
- Для покупки требуется:
- Вероятность ≥
ProbabilityThreshold. - Число наблюдений ≥
MinSamples. - По истечении
CooldownFactorсвечей с момента прошлого сигнала. - Если открыта короткая позиция, новая вероятность должна превышать сохранённую вероятность продажи на величину
ProbabilityBuffer.
- Вероятность ≥
- Продажа симметрична покупке со сменой ролей
Growth/Decline. - Входы выполняются методами
BuyMarket/SellMarket. При наличии противоположной позиции она закрывается перед разворотом, как в советнике MT4. - Стопы и тейки рассчитываются по цене и контролируются в коде стратегии.
Параметры
| Параметр | Описание | По умолчанию |
|---|---|---|
CandleType |
Тип свечей для подписки. | Минутные свечи |
ProbabilityThreshold |
Минимальная вероятность для входа. | 0.8 |
BaseDeltaPoints |
Базовый шаг в пунктах для первой лестницы. | 1 |
DeltaSteps |
Количество лестниц (множителей дельты). | 20 |
PatternLength |
Длина истории в каждой лестнице. | 10 |
StopLevels |
Число уровней стоп/профит. | 1 |
StopDistancePoints |
Базовая дистанция стопа/тейка в пунктах. | 25 |
ForgetFactor |
Коэффициент забывания статистики. | 1.05 |
MinSamples |
Минимальное количество завершённых наблюдений. | 10 |
ProbabilityBuffer |
Дополнительная вероятность для закрытия обратной позиции. | 0.05 |
FixedVolume |
Базовый объём сделки. | 1 лот |
UseReinvest |
Масштабировать объём относительно депозита. | Да |
VolumeMode |
0 – фикс., 1 – проценты от 10k, 2 – лестница, 3 – линейный. | 1 |
PercentPer10k |
Процент на каждые 10 000 единиц в режиме 1. | 3 |
BaseDeposit |
Базовый депозит для режимов 2 и 3. | 500 |
DepositStep |
Шаг депозита для режимов 2 и 3. | 500 |
MaxVolume |
Максимальный объём. | 10000 |
CooldownFactor |
Количество свечей для повторной активации. | 2 |
Отличия от MQL-версии
- Убрано файловое хранилище статистики, данные пересчитываются при каждом запуске.
- Входы выполняются рыночными ордерами с программной защитой вместо
OrderSendс стоп/тейк параметрами. - Расчёт объёма адаптирован под портфельные данные StockSharp. При отсутствии информации стратегия использует фиксированный объём.
- Параметры трейлинг-стопа не задействованы, так как в исходном коде они не использовались.
Рекомендации
- Убедитесь, что для инструмента задан
PriceStep; при отсутствии значения берётся 0.0001. - До появления первых сделок требуется накопление статистики, поэтому старт может быть медленным.
- Увеличение
DeltaStepsилиPatternLengthбыстро растит объём памяти и нагрузку на процессор. - Порог 0.8 достаточно строгий — для более активной торговли его можно уменьшить.