
Cet article présente un système de stratégie de négociation qui combine plusieurs indicateurs techniques. Le système est conçu pour fournir aux traders une solution de négociation complète en intégrant plusieurs méthodes d’analyse techniques telles que MACD, EMA, moyenne mobile simple et MA100, avec une gestion des risques et un filtre temporel.
La stratégie est un système d’analyse technique composé de plusieurs stratégies, 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 avec flexibilité différents types de stratégies en fonction des conditions du marché, chacune ayant sa propre logique d’entrée et de sortie et dotée d’un mécanisme de gestion des risques correspondant.
Stratégie MACD: Capture les tendances du marché en identifiant les tendances à la hausse et à la baisse du graphique MACD. Un signal d’achat est déclenché par l’apparition de trois colonnes à la hausse et deux colonnes à la baisse.
Stratégie EMA8: une combinaison de la moyenne périphérique EMA8, des hauts et des courbes précédents et de l’analyse de la forme de la ligne K. Le système achète lorsque le prix dépasse la courbe périphérique EMA8 et que le prix de clôture est supérieur au sommet de la courbe précédente, avec une ligne K forte. La stratégie est équipée d’un paramètre de stop loss de 2%.
Stratégie simple MA: construire un système de suivi de tendance en utilisant des moyennes mobiles multi-indices (périodes 10, 15, 25, 35, 40). Trigger un signal d’achat lorsque la moyenne périodique plus courte est au-dessus de la moyenne périodique plus longue et que le prix franchit la moyenne périodique la plus courte.
Stratégie MA100: combinant la moyenne des 100 jours, la moyenne des 8 jours et la moyenne des 25 jours, et introduisant des indicateurs aléatoires pour juger de la survente. Lorsque la moyenne à court terme est au-dessus de la moyenne à long terme et que les prix fluctuent autour de la MA100, le système recherche des opportunités d’achat dans les zones de survente. Cette stratégie utilise un arrêt de perte de 3%.
Ce système de trading d’analyse technique multi-stratégique offre aux traders un cadre complet pour la prise de décision de trading en intégrant plusieurs méthodes d’analyse technique avancées. Les principaux avantages du système résident dans sa flexibilité et sa capacité à contrôler les risques, mais il nécessite également une compréhension approfondie du marché par les traders pour pouvoir l’utiliser correctement.
/*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)