
La estrategia de negociación de doble RSI es una estrategia de negociación cuantitativa basada en un índice relativamente fuerte y débil (RSI). La estrategia utiliza al mismo tiempo RSI rápido y RSI lento como señales de negociación para lograr una doble confirmación, con el objetivo de mejorar la calidad de la señal y filtrar las falsas señales.
La estrategia utiliza dos RSI de diferentes períodos como indicadores de negociación principales. El RSI rápido tiene un período de 5 días para capturar sobrecompras y sobreventas en el corto plazo; el RSI lento tiene un período de 14 días para determinar tendencias a medio y largo plazo y resistencia a los soportes clave.
Las reglas comerciales específicas son:
La estrategia, mediante el uso de una combinación de RSI rápido y lento, permite la compensación entre los diferentes períodos y es capaz de identificar de manera efectiva las situaciones de sobrecompra y sobreventa, al mismo tiempo que confirma la tendencia a medio y largo plazo, lo que genera una señal de comercio de alta calidad. El mecanismo de filtración de doble RSI también puede reducir el ruido de comercio causado por falsas brechas.
La mayor ventaja de la estrategia de doble RSI es que puede filtrar eficazmente las señales falsas y mejorar la calidad de la señal, lo que reduce las transacciones innecesarias y reduce la frecuencia de las transacciones. Las ventajas específicas son las siguientes:
Las estrategias de doble RSI también presentan ciertos riesgos, que se derivan principalmente de los siguientes aspectos:
Los riesgos pueden reducirse mediante:
La estrategia de RSI de dos niveles tiene espacio para una mayor optimización, y las principales direcciones incluyen:
Con estas optimizaciones, se puede mejorar aún más la rentabilidad, robustez y adaptabilidad de las estrategias.
La estrategia de doble RSI es una estrategia de comercio cuantitativa muy práctica en general. Combina mecanismos como el seguimiento de tendencias, la identificación de sobremarchas y sobresoldos y el doble filtrado, formando un sistema de comercio relativamente completo. La estrategia tiene un excelente rendimiento en el control del riesgo, la reducción de la frecuencia de las operaciones, etc.
/*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)