Cette stratégie est un système de trading quantitatif basé sur les indicateurs MACD et EMA à plusieurs périodes. Elle combine les caractéristiques de suivi des tendances du MACD avec les caractéristiques de support et de résistance de plusieurs lignes EMA pour créer un système de décision de trading complet. Le système comprend non seulement la génération de signaux, mais aussi des alertes en temps réel pour aider les traders à saisir les opportunités de marché en temps opportun.
La logique de base est basée sur deux indicateurs techniques principaux. Le premier est l'indicateur MACD, composé de lignes rapides (12 périodes) et de lignes lentes (26 périodes), générant des signaux de trading à travers leurs croisements. Les signaux d'achat sont générés lorsque la ligne MACD traverse au-dessus de la ligne de signal, et les signaux de vente lorsqu'elle traverse en dessous. Deuxièmement, la stratégie intègre cinq EMA de périodes différentes (10/20/50/100/200) comme références pour la confirmation de tendance et les niveaux de support/résistance.
Cette stratégie construit un système de trading relativement complet en combinant les indicateurs MACD et EMA multi-période. Ses atouts résident dans des signaux clairs, des dimensions analytiques riches et une bonne visualisation. Cependant, elle comporte également des risques inhérents tels que des retards et de faux signaux.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("REEL TIME MACD Strategy with Alerts and EMAs", overlay=true) // --- Custom Indicator: MACD --- fastLength = input(12, title="MACD Fast Length") slowLength = input(26, title="MACD Slow Length") signalSmoothing = input(9, title="MACD Signal Smoothing") src = close [macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalSmoothing) histogram = macdLine - signalLine // Plot MACD components plot(macdLine, color=color.blue, linewidth=2, title="MACD Line") plot(signalLine, color=color.orange, linewidth=2, title="Signal Line") plot(histogram, style=plot.style_histogram, color=(histogram >= 0 ? color.green : color.red), title="Histogram") // --- Custom Indicator: EMAs --- ema10 = ta.ema(src, 10) ema20 = ta.ema(src, 20) ema50 = ta.ema(src, 50) ema100 = ta.ema(src, 100) ema200 = ta.ema(src, 200) // Plot EMAs on the chart plot(ema10, color=color.green, linewidth=1, title="EMA 10") plot(ema20, color=color.blue, linewidth=1, title="EMA 20") plot(ema50, color=color.purple, linewidth=1, title="EMA 50") plot(ema100, color=color.orange, linewidth=1, title="EMA 100") plot(ema200, color=color.red, linewidth=1, title="EMA 200") // --- Strategy: Buy and Sell conditions (MACD) --- buyCondition = ta.crossover(macdLine, signalLine) // Buy when MACD crosses above signal line sellCondition = ta.crossunder(macdLine, signalLine) // Sell when MACD crosses below signal line // Execute strategy based on buy/sell conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // --- Alerts --- alertcondition(buyCondition, title="MACD Buy Alert", message="MACD XUP - Buy") alertcondition(sellCondition, title="MACD Sell Alert", message="MACD XDN - Sell") // Optional: Visualization for Buy/Sell signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")