Stratégie de convergence de la moyenne mobile logarithmique

Auteur:ChaoZhang est là., Date: 21 septembre 2023 à 15h08:05
Les étiquettes:

Résumé

Cette stratégie génère des signaux de trading à l'aide de l'indicateur MACD logarithmique.

La logique de la stratégie

La logique principale est la suivante:

  • Calculer la MA logarithmique rapide (défaut 12) et la MA logarithmique lente (défaut 26)

  • Le MACD logarithmique est leur différence, exprimant l'élan du marché

  • La ligne de signal est lissée MA du MACD (par défaut 9)

  • Allez long lorsque le MACD traverse le signal supérieur de bas

  • Allez court lorsque le MACD traverse le signal ci-dessous

  • Différence du signal MACD représentée par histogramme

Comparé au MACD simple, le MACD logarithmique peut mieux mettre en évidence les tendances de croissance exponentielle.

Les avantages

  • Détecte les mouvements de prix exponentiels en utilisant la transformation logarithmique

  • Le log MACD met en évidence les informations relatives aux fluctuations des prix

  • La ligne de signal fait évoluer le MACD en signaux de trading

  • L'histogramme MACD montre intuitivement la direction de la tendance

Les risques

  • La transformation de log peut amplifier le bruit des prix

  • Signaux fréquents, risques de suréchange

  • Aucune gestion des pertes par arrêt, contrôle des risques incomplet

Les mesures d'atténuation

  • Ajustez les paramètres pour réduire la fréquence du signal

  • Ajouter des filtres pour éviter les signaux dans des conditions agitées

  • Mise en œuvre d'un stop loss pour contrôler les pertes par transaction

Des possibilités d'amélioration

  • Optimiser les paramètres de stabilité

  • Essayez d'autres transformations comme la moyenne mobile exponentielle

  • Ajouter un filtre de tendance aux signaux de l'écran

  • Incorporer des stratégies de stop loss

  • Utiliser l'apprentissage automatique pour juger de la fiabilité du signal

Conclusion

La transformation logarithmique améliore la sensibilité du MACD pour la détection précoce des tendances. Mais la fréquence des transactions doit être contrôlée. Avec des optimisations dans les paramètres, la gestion des risques, etc., cette stratégie peut devenir un système quantitatif stable et unique.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy")

// 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(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)",  defval=false)
sma_signal = input(title="Simple MA(Signal Line)", defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
lmacd = log(fast_ma) - log(slow_ma)
signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length)
hist = lmacd - signal

plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(lmacd, title="LMACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if (crossover(hist, 0))
	strategy.entry("Long", strategy.long, comment="LMACD long")
if (crossunder(hist, 0))
	strategy.entry("Short", strategy.short, comment="LMACD short")

Plus de