Esta estrategia combina múltiples indicadores técnicos como promedios móviles, RSI y Estocásticos para evaluar la tendencia de precios y los niveles de sobrecompra / sobreventa para las señales comerciales.
Estrategia lógica:
Utilice múltiples EMA para determinar la tendencia general de los precios.
Calcular el RSI y el Estocástico para los niveles de sobrecompra/sobreventa.
Entrar a largo cuando las EMA dan señal alcista, el RSI no está sobrecomprado y el Stoch no está sobrecomprado.
Entrar en corto cuando las EMA dan señal de bajista, el RSI no está sobrevendido y el Stoch no está sobrevendido.
Salida cuando cualquier indicador dé la señal opuesta.
Ventajas:
La verificación de múltiples indicadores mejora la precisión.
Los indicadores se complementan para una mejor evaluación del mercado.
Las reglas comerciales claras facilitan las pruebas de retroceso y la ejecución.
Riesgos:
Evitar la redundancia excesiva entre los indicadores.
Optimización compleja de múltiples indicadores.
Más indicadores no mejoran necesariamente el rendimiento.
En resumen, el enfoque de múltiples indicadores puede mejorar las decisiones hasta cierto punto, pero requiere equilibrar la dificultad de optimización y la redundancia para estrategias simples y confiables.
/*backtest start: 2022-09-06 00:00:00 end: 2023-09-12 00:00:00 period: 3d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy(title='Combined Strategy', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=.0020, pyramiding=0, slippage=3, overlay=true) //----------// // MOMENTUM // //----------// ema8 = ta.ema(close, 5) ema13 = ta.ema(close, 9) ema21 = ta.ema(close, 13) ema34 = ta.ema(close, 21) ema55 = ta.ema(close, 34) plot(ema8, color=color.new(color.red, 0), style=plot.style_line, title='5', linewidth=1) plot(ema13, color=color.new(color.orange, 0), style=plot.style_line, title='9', linewidth=1) plot(ema21, color=color.new(color.yellow, 0), style=plot.style_line, title='13', linewidth=1) plot(ema34, color=color.new(color.aqua, 0), style=plot.style_line, title='21', linewidth=1) plot(ema55, color=color.new(color.lime, 0), style=plot.style_line, title='34', linewidth=1) longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55 exitLongEmaCondition = ema13 < ema55 shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55 exitShortEmaCondition = ema13 > ema55 // ---------- // // OSCILLATORS // // ----------- // rsi = ta.rsi(close, 14) longRsiCondition = rsi < 70 and rsi > 40 exitLongRsiCondition = rsi > 70 shortRsiCondition = rsi > 30 and rsi < 60 exitShortRsiCondition = rsi < 30 Stochastic length = 14, smoothK = 3, smoothD = 3 kFast = ta.stoch(close, high, low, 14) dSlow = ta.sma(kFast, smoothD) longStochasticCondition = kFast < 80 exitLongStochasticCondition = kFast > 95 shortStochasticCondition = kFast > 20 exitShortStochasticCondition = kFast < 5 //----------// // STRATEGY // //----------// longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0 exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0 if (longCondition) strategy.entry("LONG", strategy.long) if (exitLongCondition) strategy.close("LONG") shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0 exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0 if (shortCondition) strategy.entry("SHORT", strategy.short) if (exitShortCondition) strategy.close("SHORT")