Stratégie de convergence et de divergence de la moyenne mobile logarithmique


Date de création: 2023-09-21 15:38:05 Dernière modification: 2023-09-21 15:38:05
Copier: 5 Nombre de clics: 990
1
Suivre
1702
Abonnés

Aperçu

La stratégie est basée sur l’indicateur de dispersion de la moyenne mobile logarithmique (Logarithmic MACD) pour générer des signaux de négociation. Elle détermine les tendances et les opportunités du marché en calculant la différence entre les moyennes mobiles logarithmiques rapides et lentes.

Principe de stratégie

La principale logique de cette stratégie est la suivante:

  • Calculer les moyennes mobiles rapides ((12 jours par défaut) et les moyennes mobiles lentes ((26 jours par défaut)

  • Le MACD est la différence entre les deux, exprimant la dynamique du marché

  • La ligne de signal est une moyenne mobile lisse du MACD (par défaut 9 jours)

  • Le MACD fait plus quand il dépasse la ligne de signal en bas

  • La ligne MACD est vide lorsque la ligne de signal est cassée par le haut

  • Différences entre le MACD et les lignes de signal exprimées sous forme de diagramme colonnade

Par rapport à la moyenne mobile simple, la MACD symétrique peut mettre en évidence les tendances changeantes du marché de la croissance à l’échelle de l’indicateur. Après la conversion symétrique, les valeurs plus volatiles peuvent rester relativement comparables sur le graphique.

Avantages stratégiques

  • La conversion logarithmique permet de détecter les variations de prix au niveau de l’indice

  • Le MACD symétrique met en évidence les informations sur les fluctuations de prix

  • Les lignes de signaux sont lisses MACD, formant un signal de transaction

  • Le MACD colonnade est une expression intuitive de la direction de la tendance

Risque stratégique

  • La conversion symétrique pourrait amplifier les fluctuations des prix

  • Les signaux sont fréquents et les transactions sont excessives.

  • La gestion des pertes n’a pas été prise en compte, les contrôles des risques sont incomplets

Les mesures prises:

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

  • Augmentation des conditions de filtrage pour éviter la génération de signaux lors des secousses

  • Définir une stratégie de stop-loss pour maîtriser les pertes individuelles

Orientation de l’optimisation de la stratégie

  • Optimisation des paramètres et amélioration de la stabilité

  • Essayez d’utiliser d’autres méthodes de conversion comme la moyenne mobile.

  • Filtrage des signaux combiné avec un indicateur de tendance

  • Augmentation des stratégies de réduction des pertes

  • Utilisation de l’apprentissage automatique pour déterminer la fiabilité du signal

Résumer

La stratégie utilise la conversion symétrique pour améliorer la sensibilité de l’indicateur MACD, permettant de détecter plus tôt les changements de tendance. Cependant, il faut veiller à contrôler la fréquence des transactions. Grâce à l’optimisation des paramètres, au contrôle du vent, etc., la stratégie peut devenir un système de trading quantifié stable et personnalisé.

Code source de la stratégie
/*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")