Estrategia de seguimiento de tendencias basada en Stoch RSI


Fecha de creación: 2024-02-02 11:23:29 Última modificación: 2024-02-02 11:23:29
Copiar: 0 Número de Visitas: 649
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en Stoch RSI

Descripción general

La estrategia es una estrategia de seguimiento de tendencias basada en el diseño del indicador RSI de Stoch. Combina las ventajas del RSI y el indicador de Stoch para generar señales de negociación a través del cruce del RSI de Stoch. Utiliza un mecanismo de seguimiento de tendencias que ajusta dinámicamente los límites de parada y parada para lograr una gestión de fondos optimizada.

Principio de estrategia

La estrategia calcula las líneas Stoch K y D del RSI, y genera una señal de compra cuando la línea K del Stoch RSI se rompe 20 desde los bajos. A continuación, establece un punto de parada con el precio más bajo de las líneas K anteriores como referencia, y ajusta el punto de parada a medida que el precio sube dinámicamente. Al mismo tiempo, establece un punto de parada basado en el precio más alto y se libera la posición cuando el precio llega al punto de parada.

Análisis de las ventajas

La estrategia combina el indicador RSI de Stoch para determinar la tendencia del mercado y generar señales de cruce, evitando las limitaciones de un solo indicador RSI. Al mismo tiempo, el mecanismo de seguimiento de tendencias permite que la línea de parada se ajuste constantemente a la alza con el funcionamiento del precio, evitando el riesgo de un paro prematuro y capturando continuamente la tendencia. Además, el indicador RSI en sí mismo tiene una buena probabilidad de ganar.

Análisis de riesgos

La estrategia se basa principalmente en el indicador Stoch RSI para determinar tendencias y generar señales de cruce. Si el indicador en sí mismo emite una señal errónea, se enfrenta a un cierto riesgo. Además, en situaciones de volatilidad, la línea de stop loss y la línea de stop loss pueden ser activadas con frecuencia, lo que afecta la rentabilidad de la estrategia.

Dirección de optimización

  • Optimización de los parámetros del RSI de Stoch, ajuste de la velocidad de suavización de las líneas K y D para reducir la probabilidad de señales erróneas
  • Optimización de la configuración de la línea de parada y la línea de parada para mejorar la estabilidad de los parámetros
  • Aumentar las condiciones de filtración para evitar ser atrapados en situaciones de temblor
  • Aumentar el mecanismo de gestión de posiciones y ajustar el tamaño de las posiciones según las condiciones del mercado

Resumir

Esta estrategia integra las ventajas del indicador Stoch RSI, diseña un mecanismo de seguimiento de tendencias que puede identificar efectivamente la tendencia y ajustar dinámicamente el stop loss para aumentar la probabilidad de ganancias. La optimización de los parámetros puede mejorar aún más la estabilidad y la capacidad de seguimiento de la estrategia. En general, la estrategia puede obtener ganancias mientras controla el riesgo y vale la pena comprobar la experiencia.

Código Fuente de la Estrategia
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

strategy("sdf",calc_on_every_tick=true,precision=8,
     default_qty_type=strategy.fixed,currency="USD")
//entradas y variables de indicadores
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
overbought=input(80)
oversold=input(20)
//entradas de stop , trail, profit
stop=input(1500)
stop_dentro_de_los_ultimos_lows=input(20)
trail_points=input(500)
trail_offset=input(100)
profit=input(1000)
riesgo_en_dolares=input(15)
marsi=sma(rsi(close,14),14)
//condicion de compra: k>80
buycondition=crossover(k,20) and security(syminfo.ticker,"240",rsi(close,14)>marsi)
bgcolor( security(syminfo.ticker,"240",rsi(close,14)>marsi) ? yellow : na , transp=0)

if year>2014
    strategy.entry("l",strategy.long,qty=1,when=buycondition)
    velasiguente=barssince(buycondition)+1  //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    strategy.close("l",when=velasiguente>2)       //cierre en cada vela nueva independientemente si subeObaja.FUNCIONANDO
    //paradaMasBajo=lowest(low,stop_dentro_de_los_ultimos_lows)//stop_dentro_de_los_ultimos_lows, NO PROBADA 
    //strategy.exit("l",loss=paradaMasBajo,profit=profit)
plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)