Stratégie DEMA Fast Double Exponential Moving Average


Date de création: 2023-09-26 20:28:11 Dernière modification: 2023-09-26 20:28:11
Copier: 0 Nombre de clics: 754
1
Suivre
1617
Abonnés

Aperçu

La stratégie des moyennes mobiles binaires rapides de DEMA est une stratégie de négociation de courts courts basée sur DEMA. Cette stratégie combine la fluidité des moyennes mobiles et les avantages de la réponse rapide de l’EMA, dans le but d’utiliser la croisée des lignes de DEMA pour capturer les tendances des prix des courts courts et réaliser un profit.

Principe de stratégie

La stratégie s’appuie principalement sur les forks dorés et morts des lignes rapides et lentes DEMA pour déterminer les signaux d’achat et de vente.

Plus précisément, la formule de calcul de la ligne rapide est la suivante:

demaFast = 2 * ema(close, fastPeriod) - ema(ema(close, fastPeriod), fastPeriod)

La formule de calcul de la ligne lente est la suivante:

demaSlow = 2 * ema(close, slowPeriod) - ema(ema(close, slowPeriod), slowPeriod)

Les périodes fastPeriod et slowPeriod représentent respectivement les périodes paramétriques de la ligne rapide et de la ligne lente.

Il y a un signal d’achat lorsque la ligne rapide traverse la ligne lente et un signal de vente lorsque la ligne rapide traverse la ligne lente.

buy = crossover(demaSlow, demaFast)  
sell = crossunder(demaSlow, demaFast)

Cette stratégie permet de déterminer la direction de la transaction en fonction de l’intersection des lignes DEMA.

Analyse des avantages

Les lignes DEMA sont plus sensibles aux variations de prix que les moyennes mobiles traditionnelles, ce qui permet à la stratégie de saisir plus d’opportunités de négociation sur des lignes courtes.

En outre, la ligne DEMA combine les caractéristiques de l’aplatissement des moyennes mobiles pour filtrer une partie du bruit du marché et éviter les faux signaux.

En outre, la stratégie utilise une combinaison de lignes rapides et lentes, ce qui permet d’éviter les croisements virtuels dans une certaine mesure. Les lignes rapides et lentes ont des paramètres différents, et les signaux croisés sont plus fiables.

Ainsi, la stratégie DEMA Rapid Double Moving Average présente les avantages d’une réponse rapide, d’un filtrage du bruit et d’une stabilité du signal.

Analyse des risques

Bien que les lignes DEMA soient plus stables que les lignes EMA, il existe toujours un risque de croisement virtuel, produisant un mauvais signal. A cet effet, il est possible d’ajuster le paramètre de cycle des lignes rapides et lentes de manière appropriée, afin de s’assurer que les lignes rapides sont suffisamment sensibles et les lignes lentes suffisamment stables.

En outre, en tant que stratégie de trading en ligne courte, il est plus sensible aux coûts de transaction. Si les transactions sont trop fréquentes ou si le volume de transactions est trop petit, les coûts de transaction peuvent avoir une certaine incidence sur les bénéfices.

En fin de compte, aucune stratégie d’indicateur technique ne peut éviter complètement la survenue d’un arrêt de la perte et doit être associée à une bonne gestion des fonds pour contrôler les risques.

Direction d’optimisation

Il y a encore de la place pour optimiser cette stratégie:

  1. Il est possible de tester différentes combinaisons de paramètres périodiques pour trouver la meilleure combinaison de paramètres.

  2. D’autres indicateurs techniques peuvent être ajoutés pour confirmer les signaux de négociation, tels que le RSI, etc., afin d’éviter la survenue de faux signaux.

  3. Il est possible d’optimiser le stop loss, par exemple en définissant un stop loss mobile pour verrouiller les bénéfices.

  4. Les stratégies de gestion des fonds peuvent être optimisées, par exemple en ajustant le volume des transactions en fonction des fonds du compte ou en introduisant des positions ajustées pour la volatilité.

Résumer

La stratégie DEMA Rapid Binary Moving Average est une stratégie de négociation de courts courts relativement stable dans l’ensemble. Elle est rapide en réponse et a également une certaine capacité de filtration lisse. Comparée à des indicateurs tels que SMA, la stratégie peut capturer plus d’opportunités de courts courts.

Code source de la stratégie
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

strategy(title = "DEMA Strategy", shorttitle = "DEMA Strategy",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
//Based on The DEMA is a fast-acting moving average that is more responsive to market changes than a traditional moving average
// !!!!  IN ORDER TO AVOID REPAITING ISSUES !!!!
// !!!!  DO NOT VIEW IN LOWER RESOLUTIONS THAN res/2 PARAMETER  !!!!
// for example res = 120 view >= 60m  res = 60 view >= 30m
// the length of the DEMA sampling shouldn't be longer than a candle 



// Best profits tested on BTCUSD
//res = 105 slowPeriod = 2 fastPeriod = 32
//res = 125 slowPeriod = 3 fastPeriod = 21
//res = 120 slowPeriod = 2 fastPeriod = 32 
//res = 130 slowPeriod = 1 fastPeriod = 24 
//res = 40 slowPeriod = 4 fastPeriod = 93 
//res = 60 slowPeriod = 1 fastPeriod = 67 

fastPeriod    = input(defval = 32, title = "DEMA FAST Period", minval = 2)
slowPeriod = input(defval = 2, title = "DEMA SLOW Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")


demaFast =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, fastPeriod) - ta.ema(ta.ema(close, fastPeriod), fastPeriod)  )
demaSlow  = request.security(syminfo.tickerid,res, 2 * ta.ema(close, slowPeriod) - ta.ema(ta.ema(close, slowPeriod), slowPeriod)  )



plot(demaFast,color=color.red)
plot(demaSlow,color=color.lime)

buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)


// value [1] for avoid repaiting bottom bars
bgcolor( buy[1] ? color.lime : na, transp=0)
bgcolor( sell[1] ? color.red : na, transp=0)


strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell )