Stratégie de croisement des moyennes mobiles à double exponentiel

Auteur:ChaoZhang est là., Date: 2023-11-23 17h34 et 06h
Les étiquettes:

img

Résumé

La stratégie de croisement des moyennes mobiles doubles exponentielles est une stratégie typique de suivi des tendances.

La logique de la stratégie

La stratégie utilise simultanément 3 DEMA avec différents paramètres: DEMA (8).

  • DEMA (8) réagit le plus rapidement pour capturer les tendances à court terme;

  • DEMA (DEMA) 20 se déplace légèrement plus lentement pour identifier les tendances à moyen terme;

  • DEMA ((63) réagit le plus lentement pour juger de la direction de la tendance à long terme.

Lorsque la ligne rapide DEMA ((8) traverse au-dessus de la ligne moyenne DEMA ((20) et la ligne lente DEMA ((63), cela indique que le marché tourne de bas en haut, une position longue doit être effectuée. Lorsque DEMA ((8) traverse en dessous de DEMA ((20) et DEMA ((63), cela indique que le marché tourne de haut en bas, une position courte doit être effectuée.

Analyse des avantages

Par rapport à la moyenne mobile unique, la moyenne mobile exponentielle double est plus sensible aux changements de prix et peut détecter plus tôt les points tournants des tendances.

La combinaison de lignes DEM multi-temporelles améliore la qualité des signaux de négociation et évite les fausses ruptures.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Moins de signaux croisés des trois lignes peuvent manquer certaines opportunités de trading.
  2. Les lignes en DEM qui traversent avec retard peuvent ne pas répondre en temps opportun aux variations de prix lorsque le marché fluctue violemment.
  3. Elle ne peut pas gérer efficacement les marchés immenses qui ne sont pas en tendance.

Les risques peuvent être encore améliorés et contrôlés en optimisant les paramètres, en ajoutant des conditions de filtrage, etc.

Directions d'optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Optimiser les paramètres des moyennes mobiles afin de mieux les adapter aux différentes caractéristiques du marché.
  2. Ajoutez des filtres comme le volume, la volatilité pour éviter les mauvais signaux.
  3. Combinez d'autres indicateurs comme MACD, KDJ pour filtrer les faux signaux.
  4. Ajoutez une stratégie de stop loss pour contrôler une seule perte.
  5. Optimiser la gestion des positions pour que le taux de profit soit supérieur au taux de perte.

Résumé

La stratégie crossover DEMA a une idée globale claire. En combinant des DEMA multi-temporels, elle peut déterminer efficacement la direction de la tendance du marché et est une stratégie typique de suivi de tendance. La stratégie peut être améliorée par l'optimisation des paramètres, l'ajout de filtres, la gestion des pertes d'arrêt, etc. en fonction des besoins réels, afin d'obtenir de meilleurs résultats de stratégie.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Noldo

//@version=4
//Quoted by Author HighProfit

//Lead-In
strategy("Double Exponential Moving Average 8-20-63 Strategy", 
         shorttitle="DEMA-8-20-63", 
         overlay=true,
         max_bars_back = 5000,
         initial_capital=100000, 
         max_bars_back = 5000,
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         commission_type=strategy.commission.percent, 
         commission_value=0.1,
         pyramiding = 0)

short = input(8, minval=1)
srcShort = input(ohlc4, title="Source Dema 1")

long = input(20, minval=1)
srcLong = input(low, title="Source Dema 2")

long2 = input(63, minval=1)
srcLong2 = input(close, title="Source Dema 3")
e1 = ema(srcShort, short)
e2 = ema(e1, short)
dema1 = 2 * e1 - e2
plot(dema1, color=color.green, linewidth=2)

e3 = ema(srcLong, long)
e4 = ema(e3, long)
dema2 = 2 * e3 - e4
plot(dema2, color=color.blue, linewidth=2)

e5 = ema(srcLong2, long2)
e6 = ema(e5, long2)
dema3 = 2 * e5 - e6
plot(dema3, color=color.black, linewidth=2)

longC  = dema1 > dema2 and dema1 > dema3
shortC = dema1 < dema2 and dema1 < dema3 

alertlong  = longC and  not longC[1]
alertshort = shortC and not shortC[1]


strategy.entry("Long" , strategy.long , when = longC ,comment="Long")
strategy.entry("Short", strategy.short, when = shortC,comment="Short")

// Alerts 

alertcondition(longC  , title='Long' , message=' Buy  Signal ')
alertcondition(shortC , title='Short', message=' Sell Signal ')



Plus de