Контрарианная стратегия волатильности RWI рассчитывает максимумы и минимумы RWI за определенный период, чтобы определить, находится ли рынок в состоянии реверсии, чтобы обнаружить возможности реверсии.
Стратегия сначала рассчитывает максимумы и минимумы RWI за определенный период времени (например, 14 свечей).
RWI High = (High - Lowest of N Periods Ago) / (ATR of N Periods * sqrt(N))
RWI Low = (Самый высокий из N периодов назад - низкий) / (ATR N периодов * sqrt(N))
Затем вычислите разницу между максимумами/минимами RWI и порогом, чтобы определить, находится ли он ниже порога (например, 1).
Если высокий показатель RWI превышает низкий показатель RWI более чем на порог, то определяется, что цена собирается перевернуться, и можно рассмотреть возможность покупки на коротком.
Стратегия RWI по противодействию волатильности имеет следующие преимущества:
Стратегия RWI, противопоставляющаяся волатильности, также имеет следующие риски:
Для контроля рисков параметры RWI могут быть соответствующим образом скорректированы, добавлены фильтры, ограничены диапазоны обратного движения и т.д.
Стратегия может быть дополнительно оптимизирована следующими способами:
Стратегия противоположности волатильности RWI имеет четкую логику с использованием RWI для определения отклонений. Логика торговли является прочной и хорошо работает на различных рынках. Благодаря оптимизации параметров, контролю рисков и т. Д. Стратегия может применяться более стабильно и эффективно.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Copyright (c) 2020-present, JMOZ (1337.ltd) strategy("RWI Strategy", overlay=false) length = input(title="Length", type=input.integer, defval=14, minval=1) threshold = input(title="Threshold", type=input.float, defval=1.0, step=0.1) rwi(length, threshold) => rwi_high = (high - nz(low[length])) / (atr(length) * sqrt(length)) rwi_low = (nz(high[length]) - low) / (atr(length) * sqrt(length)) is_rw = rwi_high < threshold and rwi_low < threshold [is_rw, rwi_high, rwi_low] [is_rw, rwi_high, rwi_low] = rwi(length, threshold) long = not is_rw and rwi_high > rwi_low short = not is_rw and rwi_low > rwi_high strategy.entry("Long", strategy.long, when=long) strategy.entry("Short", strategy.short, when=short) plot(rwi_high, title="RWI High", linewidth=1, color=is_rw?color.gray:color.blue, transp=0) plot(rwi_low, title="RWI Low", linewidth=1, color=is_rw?color.gray:color.red, transp=0)