Stratégie de tendance EMA de volatilité en cassure instantanée


Date de création: 2024-01-15 12:00:25 Dernière modification: 2024-01-15 12:00:25
Copier: 0 Nombre de clics: 689
1
Suivre
1617
Abonnés

Stratégie de tendance EMA de volatilité en cassure instantanée

Aperçu

Cette stratégie est une simple stratégie de rupture qui utilise deux différences de valeurs de l’EMA avec un décalage de zéro pour suivre la hausse ou la baisse de la valeur de la cible. Lorsque la différence dépasse un certain nombre de multiples de la bande de Brin, un signal de plus ou de moins est généré en fonction de la direction de l’EMA de base.

Principe de stratégie

La stratégie utilise deux types d’EMA spéciaux pour calculer le décalage de volatilité. La formule de calcul de ces deux EMA est la suivante:

hJumper = math.max(src,ta.ema(src,lx)) 

lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

L’indicateur réagit immédiatement aux fortes fluctuations des prix, sans tarder.

Un signal d’entrée est généré lorsque la différence dépasse la bande de Bryn sur la voie; un signal de sortie est généré lorsque la différence est inférieure à la bande de Bryn sur la voie médiane. La direction de base de l’EMA décide de la direction de l’excédent ou de l’écart.

Analyse des avantages

Le plus grand avantage de cette stratégie est de capturer les signaux de rupture rapidement et sans retard. Ceci est réalisé en calculant deux EMA spéciaux avec un retard de zéro heure. Cela permet à la stratégie de répondre immédiatement aux événements de rupture des prix, captant ainsi une plus grande efficacité au début de la formation d’une tendance.

Un autre avantage est que la stratégie utilise un seul paramètre, lx. Le manque de paramètres facilite l’ajustement de la stratégie et réduit le risque de sur-optimisation.

Analyse des risques

Le principal risque de cette stratégie est que les signaux de rupture peuvent être falsifiés. Lorsque les prix sont en train de se déplacer, il peut y avoir une série de fausses ruptures. Afin de réduire ce risque, le multiplicateur de la bande de Brin peut être augmenté de manière appropriée pour rendre le signal plus stable.

Un autre risque est la fréquence de petites pertes dans des situations de choc. Cela peut être atténué en ajustant le mécanisme de sortie. Par exemple, en définissant un prix stop ou stop loss.

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. En combinaison avec d’autres indicateurs, le filtrage des signaux d’entrée de jeu réduit la probabilité de fausses percées

  2. Augmentation des mécanismes de coupe-faim et gestion des risques de détention de positions

  3. Introduction de confirmation de volume pour éviter les fausses signaux qui pourraient être détectés

  4. Utilisez des paramètres adaptatifs de la bande de Bryn pour ajuster les paramètres en fonction des fluctuations du marché

  5. Paramètres de stratégie d’optimisation dynamique basés sur une méthode d’apprentissage automatique

Résumer

La stratégie de l’EMA de rupture instantanée de volatilité capte l’élan de la tendance des prix en calculant un retard de zéro heure sur l’EMA. Elle présente des avantages tels que la rapidité de réponse, la simplicité des paramètres. La prochaine étape peut être optimisée en termes de signaux de filtrage, de stop loss, de confirmation de volume de transaction, etc., ce qui permet à la stratégie de fonctionner de manière stable dans différents environnements de marché.

Code source de la stratégie
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("Zero-lag Volatility-Breakout EMA Trend Strategy",overlay=false)

tt1 = "If selected, the strategy will not close long or short positions until the opposite signal is received. This"+
 " exposes you to more risk but potentially could generate larger returns."

src = input.source(close,"Source")
lx = input.int(200,"EMA Difference Length")
bbmult = input.float(2.0,"Standard Deviation Multiple")
useBinaryStrategy = input.bool(true,"Use Binary Strategy",tooltip = tt1)

hJumper = math.max(src,ta.ema(src,lx))
lJumper = math.min(src,ta.ema(src,lx))

dif = (hJumper / lJumper) - 1

[bbm,bbu,bbl] = ta.bb(dif,lx,bbmult)

plot(dif,color=color.white,title="Zero lag EMA Difference")
plot(bbu,color=color.lime,title="Bollinger Top")
plot(bbl,color=color.red,title="Bollinger Bottom")
plot(bbm,color=color.yellow,title="Bollinger Middle")

sigEnter = ta.crossover(dif,bbu)
sigExit = ta.crossunder(dif,bbm)
emaBase = ta.ema(src,lx)
enterLong = sigEnter and emaBase > emaBase[1]
enterShort = sigEnter and emaBase < emaBase[1]

plotshape(enterLong,style=shape.labelup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(enterShort,style=shape.labeldown,location=location.top,color=color.red,size=size.tiny)

if enterLong
    strategy.entry("Long",strategy.long)
if enterShort
    strategy.entry("Short",strategy.short)
if not useBinaryStrategy and sigExit
    strategy.close("Long")
    strategy.close("Short")