
La stratégie est un système de trading intégré de suivi des tendances, combinant plusieurs indicateurs techniques pour confirmer les tendances du marché et les signaux de négociation. La stratégie utilise les croisements EMA comme principal outil d’identification des tendances, tout en intégrant les indicateurs RSI, ADX et volume de transaction pour filtrer les signaux de négociation et en utilisant des arrêts et arrêts dynamiques pour gérer les risques. Cette méthode d’analyse à plusieurs niveaux peut améliorer efficacement la précision et la rentabilité des transactions.
La logique centrale de la stratégie repose sur les éléments clés suivants:
Les conditions d’achat doivent être remplies en même temps: EMA 21 sur EMA 9, RSI supérieur à 50, volume de transaction supérieur à la moyenne et ADX supérieur à 25 Les conditions de vente sont les suivantes: EMA21 sous EMA9, RSI inférieur à 50, volume de transaction inférieur à la moyenne (et ADX supérieur à 25)
Il s’agit d’une stratégie de suivi de tendances bien conçue pour améliorer la fiabilité des transactions grâce à l’utilisation combinée de multiples indicateurs techniques. L’avantage de la stratégie réside dans son mécanisme de confirmation de signal complet et son système de gestion des risques, mais il faut également faire attention à l’optimisation des paramètres appropriés en fonction des conditions du marché dans l’application réelle.
/*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!")