Esta estrategia está diseñada sobre la base del indicador Stoch RSI para seguir tendencias. Combina las ventajas de los indicadores RSI y Stoch mediante la generación de señales comerciales a través de cruces de Stoch RSI y la adopción de un mecanismo de seguimiento de tendencias para ajustar dinámicamente las líneas de stop loss y take profit para una gestión optimizada del dinero.
La estrategia calcula las líneas de Stoch K y D de RSI. Genera señales de compra cuando la línea K de Stoch RSI rompe por encima de 20 desde los mínimos. Luego se establece un stop loss basado en los mínimos más bajos de varias líneas K anteriores, y la línea de stop loss se mantiene ajustada al alza dinámicamente junto con el aumento del precio. Al mismo tiempo, se establece una línea de take profit basada en el precio más alto, y la posición se cerrará cuando el precio alcance la línea de take profit.
Esta estrategia combina el indicador de Stoch RSI para determinar la tendencia del mercado y los cruces para generar señales, evitando las limitaciones del uso del indicador de RSI solo. Mientras tanto, el mecanismo de seguimiento de tendencia permite que la línea de stop loss se ajuste constantemente hacia arriba de acuerdo con el movimiento del precio, evitando el riesgo de salida prematura de stop loss y permitiendo la captura de ganancias sostenidas durante los movimientos de tendencia. Además, el indicador de RSI en sí tiene una tasa de ganancia relativamente buena.
Esta estrategia se basa principalmente en el indicador Stoch RSI para la generación de señales de tendencia y cruce. Las señales incorrectas del indicador en sí mismo plantean algunos riesgos. Además, en los mercados de rango, las líneas de stop loss y take profit que se activan con frecuencia pueden afectar la rentabilidad de la estrategia. Los riesgos podrían reducirse a través de la optimización de parámetros.
Esta estrategia integra las ventajas del indicador Stoch RSI y adopta un mecanismo de seguimiento de tendencias para identificar eficazmente los movimientos de tendencia y ajustar dinámicamente las paradas y objetivos para mejorar la probabilidad de captura de ganancias.
/*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)