
La estrategia de seguimiento de brechas en el canal RSI genera señales de negociación mediante el seguimiento de las fluctuaciones del indicador RSI dentro del canal de desvalorización, combinadas con brechas en el precio. La estrategia se dedica a capturar explosiones de compra y venta rápidas en el mercado de criptomonedas.
El RSI se suaviza con el promedio móvil de Hull, generando el indicador RSI después de la suavización. Incluye el RSI de cierre, el RSI de precio máximo, el RSI de precio mínimo y el RSI de precio medio.
Configurar el rango de canal RSI en 55-45. Cuando el indicador RSI entra en el canal 55-45, indica que entra en la zona de oscilación.
Cuando el indicador RSI de cierre de mercado retrocede desde la línea de salida del canal, y el precio de cierre está por debajo del precio medio, indica que el precio está bajo presión; mientras que el indicador RSI de precio medio sigue por encima del límite superior del canal, indica que el precio medio todavía tiene impulso de compra, de acuerdo con la lógica de seguimiento de la ruptura del precio medio, por lo tanto, genera una señal de compra.
Cuando el precio de cierre RSI rebota desde el límite inferior de la canal, y el precio de cierre es superior al precio de la línea media, indica que el precio está soportado; y en este momento el indicador de RSI de la línea media está por debajo del límite inferior de la canal, lo que indica que el precio de la línea media está más presionado, de acuerdo con la lógica de seguimiento de la ruptura del precio de la línea media, por lo que genera una señal de venta.
Los indicadores de RSI de precios más altos y más bajos se utilizan para identificar señales de negociación inactivas y rápidas.
El uso de la brecha de precios medianos para seguir la dirección de la fuerza de los precios medianos es compatible con el concepto de seguimiento de tendencias.
El RSI oscila dentro del canal de desvalorización, lo que sugiere un ajuste, y el precio medio se utiliza para seguir la dirección de la fuerza del precio medio y evitar quedarse atrapado en los movimientos intermedios.
Los indicadores RSI de precios máximos y mínimos se utilizan para identificar rápidamente las fallas en las señales de negociación, para detener rápidamente los pérdidas y controlar eficazmente las pérdidas.
La configuración incorrecta del RSI puede causar una sensibilidad excesiva o una lentitud.
El significado de la ruptura del precio promedio no siempre es confiable, y el precio promedio en sí mismo puede estar en crisis.
El mercado de criptomonedas es muy volátil, y el establecimiento de una posición de stop loss demasiado suave puede causar pérdidas ampliadas.
La solución:
Se pueden introducir indicadores como las bandas de Brin para determinar si el precio medio está cerca de la vía ascendente o descendente, lo que mejora la precisión de la decisión sobre la dirección de la ruptura del precio medio.
El uso de modelos de aprendizaje profundo como LSTM para predecir el futuro de los precios medios ayuda a determinar si los precios medios pueden romper con éxito una dirección.
Ajuste de la posición de pérdida en tiempo real según la volatilidad del mercado. Por ejemplo, cuando la volatilidad aumenta, se puede apretar adecuadamente la posición de pérdida; cuando la volatilidad disminuye, se puede relajar adecuadamente la posición de pérdida.
La estrategia de seguimiento de la brecha de precios en el canal RSI genera señales de negociación mediante el seguimiento de la fluctuación del indicador RSI dentro del canal y la combinación de brechas de precios, y se dedica a capturar explosiones de compra y venta rápidas en el mercado de criptomonedas. La estrategia combina eficazmente los métodos de seguimiento de tendencias y reconocimiento de intervalos, y aún así se obtienen mejores operaciones cuando la brecha de precios se reduce.
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hull MA of RSI Strategy",overlay=false)
//+++++++++++++++++++++++++++++++
//++++++++++++ Setup ++++++++++++
//+++++++++++++++++++++++++++++++
// RSI
rsi1_tt="=== RSI ==="
rsi1_len=input(13,title="Period",inline="set",group=rsi1_tt)
//Mid
mid_tt="=== Mid Channel ==="
upper=input(55.0,title="Upper",inline="set",group=mid_tt)
lower=input(45.0,title="Lower",inline="set",group=mid_tt)
//Over
over_tt="=== Over ==="
ovb=input(70.0,title="Overbought",inline="set",group=over_tt)
ovs=input(30.0,title="Oversold",inline="set",group=over_tt)
//++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Hull MA of RSI ++++++++++++
//++++++++++++++++++++++++++++++++++++++++
hma_tt="=== Hull MA ==="
hma_len=input(3,title="Period",inline="set",group=hma_tt)
rsi_c=hma(rsi(close,rsi1_len),hma_len)
rsi_h=hma(rsi(high,rsi1_len),hma_len)
rsi_l=hma(rsi(low,rsi1_len),hma_len)
rsi_hl2=hma(rsi(hl2,rsi1_len),hma_len)
//++++++++++++++++++++++++++++++++
//++++++++++++ Signal ++++++++++++
//++++++++++++++++++++++++++++++++
var order_status="None"
BuySignal=
crossunder(rsi_c,ovb)
and
close<hl2
and
rsi_hl2>ovb
and
order_status=="None"
CloseBuy=
order_status[1]=="Long"
and
(crossover(rsi_c,ovb)
or
crossunder(rsi_l,upper))
SellSignal=
crossover(rsi_c,ovs)
and
close>hl2
and
rsi_hl2<ovs
and
order_status=="None"
CloseSell=
order_status[1]=="Short"
and
(crossunder(rsi_c,ovs)
or
crossover(rsi_h,lower))
ExitSignal=
CloseBuy
or
CloseSell
if BuySignal
order_status:="Long"
if SellSignal
order_status:="Short"
if ExitSignal
order_status:="None"
//+++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Line ++++++++++++
//+++++++++++++++++++++++++++++++++++
rsi_c_col=
rsi_c>upper?color.new(color.blue,0):
rsi_c<lower?color.new(color.blue,0):
color.new(color.orange,0)
rsi_h_col=
rsi_h>upper?color.new(color.green,0):
rsi_h<lower?color.new(color.green,0):
color.new(color.orange,0)
rsi_l_col=
rsi_l>upper?color.new(color.yellow,0):
rsi_l<lower?color.new(color.yellow,0):
color.new(color.orange,0)
rsi_hl2_col=
rsi_hl2>upper?color.new(color.olive,0):
rsi_hl2<lower?color.new(color.olive,0):
color.new(color.orange,0)
plot(rsi_c,title="RSI Close",color=rsi_c_col,linewidth=2)
plot(rsi_h,title="RSI High",color=rsi_h_col,linewidth=1)
plot(rsi_l,title="RSI Low",color=rsi_l_col,linewidth=1)
plot(rsi_hl2,title="RSI HL2",color=rsi_hl2_col,linewidth=1)
upper_line=hline(upper,title="Upper",color=color.new(color.black,100))
lower_line=hline(lower,title="Lower",color=color.new(color.black,100))
fill(upper_line,lower_line,title="Mid Channel",color=color.silver)
ovb_line=hline(ovb,title="Overbought",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
ovs_line=hline(ovs,title="Oversold",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Analyzing Signals ++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//Color
buy_col=
BuySignal?color.new(color.blue,70):na
sell_col=
SellSignal?color.new(color.red,70):na
close_buy_col=
CloseBuy and order_status[1]=="Long"?color.new(color.yellow,70):na
close_sell_col=
CloseSell and order_status[1]=="Short"?color.new(color.yellow,70):na
//Background
bgcolor(close_buy_col, title='Close Buy', offset=0)
bgcolor(close_sell_col, title='Close Sell', offset=0)
bgcolor(sell_col, title='Sell', offset=0)
bgcolor(buy_col, title='Buy', offset=0)
//++++++++++++++++++++++++++++++++++
//++++++++++++ Backtest ++++++++++++
//++++++++++++++++++++++++++++++++++
strategy.entry("Long",strategy.long,when=BuySignal)
strategy.close("Long",when=CloseBuy)
strategy.entry("Short",strategy.short,when=SellSignal)
strategy.close("Short",when=CloseSell)
//EOF