
Die Doppel-RSI-Handelsstrategie ist eine quantitative Handelsstrategie, die auf einem relativ starken Index (RSI) basiert. Die Strategie nutzt gleichzeitig den schnellen RSI und den langsamen RSI als Handelssignal, um eine doppelte Bestätigung zu ermöglichen, um die Signalqualität zu verbessern und falsche Signale zu filtern.
Die Strategie verwendet zwei verschiedene RSI-Perioden als Hauptindikator für den Handel. Der schnelle RSI-Periode ist 5 Tage lang, um kurzfristige Überkauf-Überverkäufe zu erfassen. Der langsame RSI-Periode ist 14 Tage lang, um mittelfristige Trends und wichtige Unterstützungsresistenzen zu ermitteln.
Die spezifischen Handelsregeln sind:
Die Strategie erzeugt ein hochwertiges Handelssignal durch die Kombination von schnellen und schlechten RSI, um die Kompensation zwischen den verschiedenen Zyklen zu erreichen. Die Strategie ist in der Lage, überkaufte und überverkaufte Trends effektiv zu identifizieren und gleichzeitig die mittleren und langen Trends zu bestätigen. Die doppelte RSI-Filtermechanik kann auch den Noise-Handel reduzieren, der durch falsche Durchbrüche verursacht wird.
Der größte Vorteil der Dual-Layer-RSI-Strategie besteht darin, dass sie die falschen Signale effektiv filtern und die Signalqualität verbessern kann, wodurch unnötige Geschäfte reduziert und die Handelsfrequenz verringert wird. Die konkreten Vorteile sind wie folgt:
Eine doppelte RSI-Strategie birgt auch einige Risiken, die hauptsächlich aus folgenden Aspekten resultieren:
Diese Risiken können durch folgende Maßnahmen verringert werden:
Es gibt noch Raum für weitere Optimierungen bei der Dual-Level-RSI-Strategie.
Durch diese Optimierungen können die Rentabilität, Robustheit und Anpassungsfähigkeit der Strategie weiter verbessert werden.
Die Dual-Layer-RSI-Strategie ist insgesamt eine sehr praktische Quantifizierungs-Handelsstrategie. Sie kombiniert Trend-Tracking, Überkauf-Überverkauf-Erkennung und Doppelfilterung, um ein relativ vollständiges Handelssystem zu bilden. Die Strategie zeichnet sich durch Risikokontrolle und reduzierte Handelsfrequenz aus und ist für die mittlere und langfristige Haltung geeignet. Die Dual-Layer-RSI-Strategie wird durch kontinuierliche Optimierung und Wiederholung ein wichtiger Bestandteil der neuen Quantifizierungsstrategie sein.
/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ankit_Quant
//@version=4
// ********************************************************************************************************
// This was coded live during webinar on Backtesting in Tradingview
// That was held on 16-Jan-21
// Aim of this strategy is to code a Double Decker RSI Strategy - Rules of Strategy are given in Description
// *********************************************************************************************************
// Identifier of strategy or an indicator (study())
strategy(title="Strategy- Double Decker RSI",shorttitle='Strategy - Double Decker RSI',overlay=true)
// ********************
// INPUTS
// ********************
// RSI Lookback Periods
slowRSI=input(defval=14,title='Slow RSI Period',type=input.integer)
fastRSI=input(defval=5,title='Fast RSI Period',type=input.integer)
// Time Period Backtesting Input
start_year=input(defval=2000,title='Backtest Start Year',type=input.integer)
end_year=input(defval=2021,title='Backtest End Year',type=input.integer)
//Specific Years to Test Starategy
timeFilter=true
// Trade Conditions and signals
long = rsi(close,fastRSI)>70 and rsi(close,slowRSI)>50
short = rsi(close,fastRSI)<40 and rsi(close,slowRSI)<50
long_exit=rsi(close,fastRSI)<55
short_exit=rsi(close,fastRSI)>45
//positionSize - 1 Unit (also default setting)
positionSize=1
// Trade Firing - Entries and Exits
if(timeFilter)
if(long and strategy.position_size<=0)
strategy.entry(id='Long',long=strategy.long,qty=positionSize)
if(short and strategy.position_size>=0)
strategy.entry(id="Short",long=strategy.short,qty=positionSize)
if(long_exit and strategy.position_size>0)
strategy.close_all(comment='Ex')
if(short_exit and strategy.position_size<0)
strategy.close_all(comment='Ex')
// Plot on Charts the Buy Sell Labels
plotshape(strategy.position_size<1 and long,style=shape.labelup,location=location.belowbar,color=color.green,size=size.tiny,text='Long',textcolor=color.white)
plotshape(strategy.position_size>-1 and short,style=shape.labeldown,location=location.abovebar,color=color.red,size=size.tiny,text='Short',textcolor=color.white)
plotshape(strategy.position_size<0 and short_exit?1:0,style=shape.labelup,location=location.belowbar,color=color.maroon,size=size.tiny,text='ExShort',textcolor=color.white)
plotshape(strategy.position_size>0 and long_exit?1:0,style=shape.labeldown,location=location.abovebar,color=color.olive,size=size.tiny,text='ExLong',textcolor=color.white)