
Trata-se de uma estratégia de negociação multi-indicador complexa, que combina quatro ferramentas de análise técnica, como a média móvel (EMA), o índice de força relativa (RSI), a média móvel convergente (MACD) e as faixas de Bollinger (Bollinger Bands), com o objetivo de identificar potenciais pontos de entrada de negociação por meio de verificação de múltiplos sinais. A estratégia se concentra em capturar movimentos de preços tendenciais e reduzir a probabilidade de sinais errôneos por meio de um mecanismo de filtragem de sinal rigoroso.
A estratégia é baseada em uma análise integrada de quatro indicadores tecnológicos fundamentais:
A lógica de admissão específica inclui:
São várias as condições:
Condições de vaga:
Trata-se de uma estratégia de dinâmica de tendência de cruzamento de múltiplos parâmetros, altamente sistematizada e validada por uma combinação de quatro indicadores técnicos, destinada a fornecer sinais de negociação mais precisos e confiáveis. Apesar de ter vantagens significativas, a estratégia requer otimização contínua e gerenciamento de risco.
/*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)