Нажмите ESC, чтобы закрыть

Оценка импульса в крипте: Z-Score и Pine Script стратегия

Обычный RSI считает только соотношение средних цен закрытия вверх и вниз за N периодов. Он слеп к объему ликвидаций, дисбалансу лимитного ордербука (Order Book Imbalance) и скорости прохождения ордеров через ленту (Time & Sales).

Чтобы индикатор momentum действительно отражал физику рынка, мы должны синтезировать скорость изменения цены с динамическим фильтром волатильности (ATR) и объемом. Мы будем использовать модифицированный Z-Score Momentum и Chande Momentum Oscillator (CMO), адаптированный под криптоспецифику (учет проторгованного объема).

cmo
 

Где S_u - сумма приростов цен закрытия, взвешенная на объем за период, а S_d - сумма абсолютных убытков, также взвешенная на объем. Такой подход не дает осциллятору уйти в перманентную перекупленность, если импульс идет на затухающих объемах (дивергенция).

Выбор метрик: Сравнительный анализ осцилляторов импульса

Индикатор / МетрикаЧто измеряет на самом делеГлавный минус на криптеМодификация для Pro-трейдинга
Классический RSIОтносительную силу закрытия свечей.Залипание в зонах 70+ / 30- при шорт-сквизах.Замена простой средней на VWMA (Volume Weighted).
Rate of Change (ROC)Чистую скорость изменения цены (P_t - P_{t-n}).Чувствителен к случайным рыночным шумам и гэпам.Сглаживание через экспоненциальную среднюю (EMA).
Z-Score MomentumОтклонение текущего импульса от математического ожидания.Требует постоянной перекалибровки окна выборки.Динамическое окно, привязанное к циклу волатильности.

Реализация стратегии: Pine Script v5

Этот скрипт рассчитывает волатильный объемный импульс (Volume-Weighted Momentum Score). Мы ищем точки истощения тренда через фильтрацию экстремальных значений Z-Score и пересечение сигнальных линий. Основной рабочий таймфрейм: 15m – 1h (для скальпинга внутри дня на бессрочных фьючерсах BTC/USDT или ETH/USDT).

Pine Script

//@version=5
strategy("Volume-Weighted Momentum Z-Score Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Настройки параметров
len = input.int(14, title="Momentum Period")
smooth = input.int(5, title="Signal Smoothing")
z_len = input.int(20, title="Z-Score Lookback")
upper_band = input.float(2.0, title="Overbought (Z-Score)")
lower_band = input.float(-2.0, title="Oversold (Z-Score)")

// Расчет объемного импульса
price_change = ta.change(close)
vol_momentum = price_change * volume

// Сглаживание импульса
smoothed_mom = ta.ema(vol_momentum, len)

// Расчет Z-Score для сглаженного импульса
mean_mom = ta.sma(smoothed_mom, z_len)
std_mom = ta.stdev(smoothed_mom, z_len)
z_score = std_mom != 0 ? (smoothed_mom - mean_mom) / std_mom : 0.0

// Сигнальная линия
signal_line = ta.ema(z_score, smooth)

// Визуализация
plot(z_score, color=color.white, title="Z-Score Momentum", linewidth=2)
plot(signal_line, color=color.yellow, title="Signal Line")
hline(upper_band, "Upper Bound", color=color.red, linestyle=hline.style_dashed)
hline(lower_band, "Lower Bound", color=color.green, linestyle=hline.style_dashed)
hline(0, "Zero Line", color=color.gray)

// Логика входа и выхода (Контртрендовые триггеры на истощении)
long_condition = ta.crossover(z_score, lower_band) or (z_score < lower_band and ta.crossover(z_score, signal_line))
short_condition = ta.crossunder(z_score, upper_band) or (z_score > upper_band and ta.crossunder(z_score, signal_line))

if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

Риск-менеджмент при торговле импульса

Заходить в позицию маркет-ордером сразу после пересечения сигнальной линии — самоубийство. Импульс может возобновиться на каскаде ликвидаций.

Выстраиваем жесткую сетку управления капиталом:

  • Точка входа (ТВХ): Только после закрытия свечи, подтвердившей возврат Z-Score внутрь диапазона [-2.0; 2.0]. Это гарантирует, что сквиз замедлился.
  • Стоп-лосс (Stop Loss): Привязывается исключительно к локальному экстремуму (High/Low сквизовой свечи) плюс фильтр в размере 0.5 x ATR (14). Если стоп получается слишком большим, уменьшаем сайз позиции, но не двигаем стоп ближе.
  • Тейк-профит (Take Profit): Фиксируем частями. 50% позиции закрываем при достижении нулевой линии (математическое среднее импульса). Остаток переводим в безубыток и тянем до противоположной границы диапазона.
  • Соотношение Риск/Награда (R:R): Минимально допустимый таргет — 1:2.5. Всё, что ниже, математически не окупает винрейт контртрендовых моделей на дистанции.

Ни один осциллятор не предскажет будущее, если за ним не стоят объемы тех, кто прямо сейчас закрывает позиции по Margin Call. Используйте Z-Score импульса как фильтр контекста: если показатель зашкаливает за критические уровни, открывать новые позиции по тренду уже поздно, пора готовить ордера на разворот или фиксировать прибыль.

Piter Wacker

I am a trading specialist with expertise in market analysis, risk management, and investment strategies. I focus on identifying opportunities, executing trades with discipline, and delivering consistent results.

...

Поделитесь своим мнением

Ваш e-mail не будет опубликован. Обязательные поля отмечены *