
La stratégie est un système de trading de suivi de tendance basé sur des moyennes mobiles multi-périodiques (EMA), des indicateurs de faiblesse relative (RSI) et des indicateurs de dispersion de tendance des moyennes mobiles (MACD). La stratégie identifie les tendances du marché par l’alignement de plusieurs EMA et la confirmation de la dynamique combinée du RSI et du MACD pour optimiser le moment d’entrée, tout en utilisant une méthode de stop-loss et de gain basée sur EMA pour gérer les risques et les gains.
La stratégie utilise la forme de “ cascade ” d’EMA formée par les EMA des cycles 5, 14, 34 et 55 pour juger de la direction de la tendance. Dans une tendance haussière, demandez EMA5> EMA14> EMA34> EMA55; dans une tendance baissière, le contraire.
Il s’agit d’une stratégie de suivi de tendance conçue de manière rationnelle, qui assure à la fois la fiabilité de la transaction et la maîtrise efficace des risques grâce à la combinaison de multiples indicateurs techniques. Bien que la stratégie puisse être sous-performante dans un marché en turbulence, son adaptabilité et sa stabilité peuvent être encore améliorées par une orientation d’optimisation recommandée.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA + MACD + RSI Strategy", overlay=true)
// Parametreler
length5 = 5
length14 = 14
length34 = 34
length55 = 55
rsiLength = 14
macdShort = 12
macdLong = 26
macdSignal = 9
// EMA Hesaplamaları
ema5 = ta.ema(close, length5)
ema14 = ta.ema(close, length14)
ema34 = ta.ema(close, length34)
ema55 = ta.ema(close, length55)
// RSI Hesaplaması
rsi = ta.rsi(close, rsiLength)
// MACD Hesaplaması
[macdLine, signalLine, _] = ta.macd(close, macdShort, macdLong, macdSignal)
macdZeroCross = ta.crossover(macdLine, 0) or ta.crossunder(macdLine, 0)
// Alış ve Satış Koşulları
longCondition = ema5 > ema14 and ema14 > ema34 and ema34 > ema55 and macdZeroCross and rsi > 50
shortCondition = ema5 < ema14 and ema14 < ema34 and ema34 < ema55 and macdZeroCross and rsi < 50
// Plotlar
plot(ema5, color=color.blue, linewidth=1)
plot(ema14, color=color.green, linewidth=1)
plot(ema34, color=color.red, linewidth=1)
plot(ema55, color=color.orange, linewidth=1)
plot(rsi, title="RSI", color=color.purple, linewidth=1, style=plot.style_line)
// Alış ve Satış Sinyalleri
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Stop-loss ve Take-profit hesaplamaları
stopLoss = ema34
takeProfit = stopLoss * 3
// Stop-loss ve Take-profit Stratejisi
strategy.exit("Exit Long", from_entry="Long", stop=stopLoss, limit=takeProfit)
strategy.exit("Exit Short", from_entry="Short", stop=stopLoss, limit=takeProfit)