Die RWI-Volatilitäts-Kontrarian-Strategie berechnet die RWI-Hoch- und Tiefststände über einen bestimmten Zeitraum, um festzustellen, ob sich der Markt in einem Umkehrzustand befindet, um Umkehrmöglichkeiten zu entdecken.
Die Strategie berechnet zunächst die RWI-Hochs und Tiefs über einen bestimmten Zeitraum (z. B. 14 Kerzen).
RWI-Hoch = (Hoch - Niedrigste von N Perioden zuvor) / (ATR von N Perioden * sqrt(N))
RWI niedrig = (Höchstwert von N Perioden zuvor - niedrig) / (ATR von N Perioden * sqrt(N))
Berechnen Sie dann die Differenz zwischen den RWI-Hoch-/Tiefwerten und dem Schwellenwert, um festzustellen, ob er unterhalb des Schwellenwerts liegt (z. B. 1).
Wenn das RWI-Hoch über dem RWI-Tief um mehr als die Schwelle liegt, wird festgestellt, dass der Preis umzukehren ist, und man kann in Betracht ziehen, kurz zu gehen.
Die RWI-Volatilitätsstrategie weist folgende Vorteile auf:
Die RWI-Volatilitätsstrategie birgt außerdem folgende Risiken:
Um Risiken zu kontrollieren, können die RWI-Parameter entsprechend angepasst, Filter hinzugefügt, Umkehrbereiche eingeschränkt werden usw.
Die Strategie kann auf folgende Weise weiter optimiert werden:
Die RWI-Volatilitäts-Kontrarian-Strategie hat eine klare Logik, die RWI zur Bestimmung von Umkehrungen verwendet. Die Handelslogik ist solide und funktioniert gut in verschiedenen Märkten. Durch die Optimierung von Parametern, die Kontrolle von Risiken usw. kann die Strategie stabiler und effizienter angewendet werden.
/*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)