
Se trata de una estrategia de negociación compleja de múltiples indicadores que combina cuatro herramientas de análisis técnico, las medias móviles divergentes (EMA), el índice de fuerza relativa (RSI), las medias móviles convergentes (MACD) y las bandas de Bollinger (Bollinger Bands), con el objetivo de identificar posibles puntos de entrada de negociación a través de una verificación de múltiples señales. La estrategia se centra en capturar movimientos de precios tendenciales y reducir la posibilidad de señales erróneas a través de un mecanismo de filtrado de señales estricto.
La estrategia se basa en un análisis integrado de cuatro indicadores técnicos clave:
La lógica específica de ingreso incluye:
Hay varias condiciones:
Condiciones para el vacío:
Se trata de una estrategia de dinámica de tendencia cruzada multiparamétrica altamente sistematizada, comprobada por la combinación de cuatro indicadores técnicos, que tiene como objetivo proporcionar una señal de negociación más precisa y confiable. Aunque la estrategia tiene una ventaja significativa, aún requiere optimización continua y gestión de riesgos.
/*backtest
start: 2024-04-02 00:00:00
end: 2025-04-01 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("Multi-Indicator Trading Strategy", overlay=true)
// Input variables
len1 = input(50, "EMA 50")
len2 = input(100, "EMA 100")
len3 = input(200, "EMA 200")
rsiLength = input(14, "RSI Length")
rsiOverbought = input(70, "RSI Overbought")
rsiOversold = input(30, "RSI Oversold")
// Indicators
ema50 = ta.ema(close, len1)
ema100 = ta.ema(close, len2)
ema200 = ta.ema(close, len3)
rsi = ta.rsi(close, rsiLength)
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
[middle, upper, lower] = ta.bb(close, 20, 2)
// Trading signals
longCondition = ta.crossover(close, ema50) and ema50 > ema100 and ema100 > ema200 and rsi > 50 and rsi < rsiOverbought and macdLine > signalLine
shortCondition = ta.crossunder(close, ema50) and
ema50 < ema100 and
ema100 < ema200 and
rsi < 50 and
rsi > rsiOversold and
macdLine < signalLine
// Plots
plot(ema50, "EMA 50", color.blue)
plot(ema100, "EMA 100", color.yellow)
plot(ema200, "EMA 200", color.red)
plot(upper, "BB Upper", color.gray)
plot(middle, "BB Middle", color.gray)
plot(lower, "BB Lower", color.gray)
// Signals
plotshape(longCondition, "Long", shape.triangleup, location.belowbar, color.green)
plotshape(shortCondition, "Short", shape.triangledown, location.abovebar, color.red)
// Strategy
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)