
A estratégia é um sistema de negociação de acompanhamento de tendências integrado, que combina indicadores técnicos múltiplos para confirmar tendências de mercado e sinais de negociação. A estratégia usa o cruzamento EMA como principal ferramenta de identificação de tendências, enquanto integra indicadores RSI, ADX e volume de transação para filtrar sinais de negociação e usa paradas e paradas dinâmicas para gerenciar o risco.
A lógica central da estratégia baseia-se nos seguintes elementos-chave:
As condições de compra devem ser cumpridas simultaneamente: EMA 21 em EMA 9, RSI maior que 50, volume de transação maior que o valor médio e ADX maior que 25 Termos de venda satisfazem qualquer um: EMA21 abaixo de EMA9, RSI menor que 50, volume de transação menor que o valor médio ((e ADX maior que 25)
Trata-se de uma estratégia de acompanhamento de tendências bem concebida para melhorar a confiabilidade das negociações através da utilização conjunta de múltiplos indicadores técnicos. A vantagem da estratégia reside no seu mecanismo de confirmação de sinal e no seu sistema de gestão de risco, mas também requer atenção para a optimização de parâmetros apropriados de acordo com as condições do mercado na aplicação real.
/*backtest
start: 2025-01-10 00:00:00
end: 2025-02-09 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia Avançada - EMA, RSI, ADX e Volume", overlay=true)
// Parâmetros das EMAs
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
// RSI
rsi14 = ta.rsi(close, 14)
// Cálculo do ADX usando ta.dmi
[plusDI, minusDI, adx] = ta.dmi(14, 14)
// Volume com média
volume_ma = ta.sma(volume, 20)
// Critérios de Compra (Bullish)
buy_signal = ta.crossover(ema9, ema21) and rsi14 > 50 and volume > volume_ma and adx > 25
// Critérios de Venda (Bearish)
sell_signal = ta.crossunder(ema9, ema21) or rsi14 < 50 or volume < volume_ma and adx > 25
// Plotando indicadores no gráfico
plot(ema9, color=color.blue, linewidth=2, title="EMA 9")
plot(ema21, color=color.red, linewidth=2, title="EMA 21")
hline(50, "RSI 50", color=color.gray)
// Stop Loss e Take Profit dinâmicos
long_sl = strategy.position_avg_price * 0.97 // Stop Loss de 3%
long_tp = strategy.position_avg_price * 1.05 // Take Profit de 5%
short_sl = strategy.position_avg_price * 1.03 // Stop Loss de 3% para vendas
short_tp = strategy.position_avg_price * 0.95 // Take Profit de 5% para vendas
// Executando compra
if buy_signal
strategy.close("Venda") // Fecha posição de venda se existir
strategy.entry("Compra", strategy.long)
strategy.exit("TakeProfit", from_entry="Compra", limit=long_tp, stop=long_sl)
// Executando venda
if sell_signal
strategy.close("Compra") // Fecha posição de compra se existir
strategy.entry("Venda", strategy.short)
strategy.exit("TakeProfit", from_entry="Venda", limit=short_tp, stop=short_sl)
// Alertas configurados
alertcondition(buy_signal, title="Sinal de Compra", message="Hora de comprar!")
alertcondition(sell_signal, title="Sinal de Venda", message="Hora de vender!")