La stratégie de tendance de croisement des moyennes mobiles est une stratégie de suivi de tendance basée sur des signaux de croisement des moyennes mobiles.
La stratégie utilise les croisements de l'histogramme MACD et de la ligne de signal pour identifier le début et la fin des tendances. Plus précisément, elle construit l'histogramme MACD basé sur l'EMA rapide de 12 périodes et l'EMA lente de 26 périodes. Lorsque l'histogramme traverse au-dessus de la ligne de signal, un signal d'achat est généré, indiquant le début d'une tendance haussière. Lorsque l'histogramme traverse au-dessous de la ligne de signal, un signal de vente est déclenché, marquant le début d'une tendance baissière.
Pour les entrées, la stratégie n'est longue que lorsqu'un signal d'achat est généré sur le graphique de 15 minutes pour capitaliser sur le stade précoce du début de la tendance.
Le plus grand avantage de cette stratégie est sa capacité à détecter en temps opportun les débuts de tendance et à sortir des signaux d'inversion, ce qui permet d'obtenir de bons ratios risque/rendement.
Il existe également certains risques principalement dans les aspects suivants:
Pour atténuer les risques, des optimisations peuvent être apportées:
Les principaux aspects pour optimiser davantage la stratégie sont les suivants:
Dans l'ensemble, la stratégie de tendance de croisement des moyennes mobiles est un système de suivi de tendance simple et pratique. Elle capitalise sur les tendances en identifiant les débuts et les fins en utilisant les croisements MACD et en combinant les positions à court et à long terme. Les avantages résident dans ses entrées en temps opportun, ses arrêts efficaces et sa récompense-risque équilibrée.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating MACD fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) // Entry conditions longCondition = macd < 0 and ta.crossover(macd, signal_line) shortCondition = ta.crossover(signal_line, macd) // Plot signals plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Strategy if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)