La stratégie contrariaire de volatilité RWI calcule les hauts et les bas du RWI sur une certaine période pour déterminer si le marché est dans un état d'inversion afin de découvrir des opportunités d'inversion.
La stratégie calcule d'abord les hauts et les bas du RWI sur une certaine période (par exemple 14 bougies).
RWI élevé = (haut - bas de N périodes précédentes) / (ATR de N périodes * sqrt(N))
RWI faible = (plus élevé que N périodes auparavant - plus faible) / (ATR de N périodes * sqrt(N))
Ensuite, calculez la différence entre les hauts et les bas du RWI et le seuil pour déterminer s'il est inférieur au seuil (comme 1).
Si le RWI est supérieur au seuil, il est déterminé que le prix est sur le point de s'inverser et que l'on peut envisager d'aller court.
La stratégie anti-volatilité RWI présente les avantages suivants:
La stratégie anti-volatilité RWI comporte également les risques suivants:
Pour contrôler les risques, les paramètres RWI peuvent être ajustés en conséquence, des filtres peuvent être ajoutés, les plages d'inversion peuvent être limitées, etc.
La stratégie peut être encore optimisée de la manière suivante:
La stratégie de contre-volatilité RWI a une logique claire en utilisant RWI pour déterminer les renversements. La logique de trading est solide et fonctionne bien sur les marchés variés. En optimisant les paramètres, en contrôlant les risques, etc., la stratégie peut être appliquée de manière plus stable et efficace.
/*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)