
Cette stratégie est un système de trading quantifié multidimensionnel combinant une moyenne mobile indicielle (EMA), une dispersion de convergence de moyenne mobile (MACD) et un indicateur relativement faible (RSI). Elle construit un cadre de décision de trading complet en fusionnant le suivi de la tendance, la confirmation de la dynamique et les indicateurs techniques de trois dimensions pour juger de la survente et de la survente. Le cœur de la stratégie est de capturer les tendances du marché par le biais d’un croisement de la double ligne d’équilibre EMA, tout en confirmant la force de la tendance en combinaison avec l’indicateur dynamique MACD et en utilisant l’indicateur RSI pour contourner les conditions extrêmes du marché, ce qui améliore la précision et la stabilité des transactions.
La stratégie utilise un mécanisme de triple signal:
Les combinaisons de signaux multiples constituent les conditions de la transaction:
La stratégie, grâce à la synergie de plusieurs indicateurs techniques, construit un système de décision de négociation complet. La stratégie se comporte bien dans les marchés tendanciels, contrôler efficacement les risques grâce au mécanisme de filtrage RSI, adapté comme cadre de base pour le système de suivi des tendances à moyen et long terme. Cependant, compte tenu des caractéristiques de retard de l’indicateur de la classe des moyennes mobiles, il est recommandé de combiner l’analyse de l’environnement du marché dans l’application pratique et d’optimiser davantage par l’optimisation des paramètres dynamiques et la gestion de la position.
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA12 + EMA26 + MACD + RSI Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// EMA calculations
ema12 = ta.ema(close, 12)
ema26 = ta.ema(close, 26)
// MACD calculations
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// RSI calculation
rsi = ta.rsi(close, 14)
// Plot EMAs
plot(ema12, color=color.blue, title="EMA 12")
plot(ema26, color=color.red, title="EMA 26")
// Plot MACD Histogram
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")
// Plot RSI
hline(30, "RSI 30", color=color.orange)
hline(70, "RSI 70", color=color.orange)
plot(rsi, color=color.purple, title="RSI")
// Buy condition: EMA12 crosses above EMA26, MACD crosses above signal, RSI below 70
buyCondition = ta.crossover(ema12, ema26) and ta.crossover(macdLine, signalLine) and rsi < 70
// Sell condition: EMA12 crosses below EMA26, MACD crosses below signal, RSI above 30
sellCondition = ta.crossunder(ema12, ema26) and ta.crossunder(macdLine, signalLine) and rsi > 30
// Plot buy/sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute trades
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")