A estratégia contrária à volatilidade do RWI calcula os máximos e mínimos do RWI durante um determinado período para determinar se o mercado está em um estado de reversão, a fim de descobrir oportunidades de reversão.
A estratégia calcula primeiro os máximos e mínimos do RWI durante um determinado período de tempo (por exemplo, 14 velas).
RWI High = (High - Lowest of N Periods Ago) / (ATR of N Periods * sqrt(N))
RWI baixo = (Melhor de N períodos anteriores - Baixo) / (ATR de N períodos * sqrt(N))
Em seguida, calcule a diferença entre os máximos/mínimos do RWI e o limiar para determinar se está abaixo do limiar (como 1).
Se a alta do RWI está acima da baixa do RWI em mais do que o limiar, é determinado que o preço está prestes a reverter, e pode-se considerar ir curto.
A estratégia contrária à volatilidade do RWI tem as seguintes vantagens:
A estratégia contrária à volatilidade do RWI apresenta igualmente os seguintes riscos:
Para controlar os riscos, os parâmetros do RWI podem ser ajustados em conformidade, filtros podem ser adicionados, os intervalos de inversão podem ser limitados, etc.
A estratégia pode ser ainda melhorada das seguintes maneiras:
A estratégia contrária à volatilidade RWI tem uma lógica clara usando RWI para determinar reversões. A lógica de negociação é sólida e funciona bem em mercados variados. Ao otimizar parâmetros, controlar riscos, etc., a estratégia pode ser aplicada de forma mais constante e eficiente.
/*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)