Cet article présente un système de stratégie de trading qui combine plusieurs indicateurs techniques. Le système intègre diverses méthodes d'analyse technique, y compris MACD, EMA, Simple Moving Averages et MA100, couplées à la gestion des risques et aux filtres temporels, visant à fournir aux traders une solution de trading complète.
Cette stratégie est un système d'analyse technique multi-stratégie comprenant quatre sous-stratégies indépendantes: la stratégie MACD, la stratégie EMA8, la stratégie Simple MA et la stratégie MA100. Le système permet aux traders de choisir flexiblement différents types de stratégie en fonction des conditions du marché, chaque sous-stratégie ayant sa propre logique d'entrée et de sortie, soutenue par des mécanismes de gestion des risques correspondants.
Stratégie MACD: Capture les tendances du marché en identifiant des modèles ascendants et descendants consécutifs dans l'histogramme MACD. Les signaux d'achat sont déclenchés par trois barres ascendantes consécutives de l'histogramme, tandis que les signaux de vente sont déclenchés par deux barres descendantes consécutives.
Stratégie EMA8: Combine l'EMA8 hebdomadaire, les sommets antérieurs et l'analyse des modèles de chandeliers. Le système entre dans des positions longues lorsque le prix dépasse l'EMA8 hebdomadaire, ferme au-dessus des sommets précédents et montre de forts modèles de chandeliers. Cette stratégie comprend un paramètre de stop-loss de 2%.
Stratégie simple de MA: utilise plusieurs moyennes mobiles exponentielles (10,15,25,35,40 périodes) pour construire un système de suivi de tendance. Les signaux d'achat sont déclenchés lorsque les MA à plus courte période sont au-dessus des MA à plus longue période et que les prix dépassent le MA à plus courte période. Un stop-loss de 2% est mis en œuvre.
La stratégie MA100: Combine MA de 100 jours, MA de 8 jours et MA de 25 jours, incorporant un oscillateur stochastique pour les conditions de survente. Le système recherche des opportunités d'achat dans les zones de survente lorsque les MA à court terme sont au-dessus des MA à long terme et que les prix fluctuent près de MA100. Cette stratégie utilise un paramètre de stop-loss de 3%.
Ce système de trading d'analyse technique multi-stratégie fournit aux traders un cadre de décision de trading complet en intégrant plusieurs méthodes d'analyse technique matures. Les principaux avantages du système résident dans sa flexibilité et ses capacités de contrôle des risques, bien qu'il exige des traders une compréhension approfondie des marchés pour une mise en œuvre correcte.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ v5 code implements multiple trading strategies //@version=5 strategy("Multi-Strategy Trading System", overlay=true) // Input parameters for customization strategy_type = input.string("MACD", "Strategy Type", options=["MACD", "EMA8", "SimpleMA", "MA100"]) show_macd = input.bool(true, "Show MACD Signals") show_ema = input.bool(true, "Show EMA Signals") show_ma = input.bool(true, "Show MA Signals") // MACD Strategy Components [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // Function to detect three consecutive ascending histogram bars isThreeAscendingBars(hist) => not na(hist[3]) and hist[3] < hist[2] and hist[2] < hist[1] and hist[1] < hist[0] // Function to detect two consecutive descending histogram bars isTwoDescendingBars(hist) => not na(hist[2]) and hist[2] > hist[1] and hist[1] > hist[0] // EMA Strategy Components ema8_weekly = request.security(syminfo.tickerid, "W", ta.ema(close, 8)) weeklyHigh = request.security(syminfo.tickerid, "W", high) previousWeekHigh = weeklyHigh[1] isStrongCandleWeekly = request.security(syminfo.tickerid, "W", close > open and (close - open) > (high - low) * 0.6) // Simple MA Strategy Components ema10 = ta.ema(close, 10) ema15 = ta.ema(close, 15) ema25 = ta.ema(close, 25) ema35 = ta.ema(close, 35) ema40 = ta.ema(close, 40) // MA100 Strategy Components ma100 = ta.sma(close, 100) ma8 = ta.sma(close, 8) ma25 = ta.sma(close, 25) // Corrected Stochastic Oscillator Calculation stochK = ta.stoch(high, low, close, 14) stochD = ta.sma(stochK, 3) isOversold = stochK < 20 and stochD < 20 // MACD Strategy Logic if strategy_type == "MACD" // Buy condition: Three ascending histogram bars after lowest if isThreeAscendingBars(histLine) strategy.entry("MACD Buy", strategy.long) // Sell condition: Two descending histogram bars after highest if isTwoDescendingBars(histLine) strategy.close("MACD Buy") // EMA8 Strategy Logic if strategy_type == "EMA8" if close > ema8_weekly and close > previousWeekHigh and isStrongCandleWeekly strategy.entry("EMA8 Buy", strategy.long) strategy.exit("EMA8 Exit", "EMA8 Buy", stop=low - (low * 0.02)) // Simple MA Strategy Logic if strategy_type == "SimpleMA" isUptrend = ema10 > ema15 and ema15 > ema25 and ema25 > ema35 and ema35 > ema40 if isUptrend and close > ema10 and close[1] <= ema10[1] strategy.entry("MA Buy", strategy.long) strategy.exit("MA Exit", "MA Buy", stop=low - (low * 0.02)) // MA100 Strategy Logic if strategy_type == "MA100" isUptrend = ma8 > ma100 and ma25 > ma100 isPriceNearMA100 = math.abs(close - ma100) / ma100 * 100 < 1 if isUptrend and isPriceNearMA100 and isOversold strategy.entry("MA100 Buy", strategy.long) strategy.exit("MA100 Exit", "MA100 Buy", stop=low - (low * 0.03)) // Plotting components for visualization plot(ma100, "MA100", color=color.blue, linewidth=2) plot(ema8_weekly, "EMA8 Weekly", color=color.yellow, linewidth=2) plot(series=histLine, title="MACD Histogram", style=plot.style_histogram, color=histLine > 0 ? color.green : color.red)