
Aperçu
Il s’agit d’une stratégie de négociation basée sur le principe de la régression des moyennes, qui utilise les écarts significatifs entre le prix et la moyenne mobile de l’indice à 50 cycles (EMA) pour déterminer les opportunités de négociation. La stratégie est spécialement conçue pour les marchés à forte volatilité et vise à tirer profit en achetant des prix nettement inférieurs au bas de l’EMA et en les vendant lorsque le prix revient au-dessus de l’EMA.
Principe de stratégie
La logique centrale de la stratégie est basée sur la théorie de la régression des moyennes, selon laquelle les prix peuvent s’écarter de leur moyenne à court terme, mais tendent à revenir à la moyenne à long terme. Plus précisément, la stratégie utilise la moyenne de référence des 50 cycles d’EMA pour les prix, considérée comme une opportunité d’achat lorsque le prix est nettement inférieur à cette moyenne (plus de 10%), et déclenche un signal de vente lorsque le prix remonte au-dessus de l’EMA et est rentable.
- Utilisation de l’EMA à 50 cycles comme référence
- Pour calculer le pourcentage d’écart entre le prix et l’EMA:
diff_perct = ((ema20 - close) / ema20) * 100
- Pour calculer le pourcentage de déviation du prix maximum par rapport à l’EMA:
diff_perct2 = ((high - ema20) / ema20) * 100
- Quand
diff_perct > 10Lorsque le prix est inférieur de plus de 10% à l’EMA, un signal d’achat est déclenché
- Quand
diff_perct2 > 0Un signal de vente est déclenché lorsque le prix maximal est supérieur à l’EMA et que le profit de la transaction actuelle est supérieur à 1
Avantages stratégiques
- Conditions d’entrée précises: la stratégie définit des écarts de prix spécifiques par rapport aux seuils ((10%), fournit des signaux d’entrée clairs et réduit les interférences avec les jugements subjectifs.
- Une réaction excessive du marchéLa stratégie vise à saisir les occasions de panique excessive ou de baisse des prix des actifs, qui sont souvent sous-évalués.
- Automatisation de l’exécutionLes stratégies peuvent être entièrement automatisées, sans interruption en temps réel, et avec moins d’interférences émotionnelles.
- Une gestion de fonds soupleLa stratégie consiste à utiliser des distributions en espèces plutôt que des unités fixes, ce qui rend l’utilisation des fonds plus flexible.
- C’est facile à comprendre.La logique de la stratégie est simple, facile à comprendre et à adapter.
- Contrôle des risquesIl n’y a pas d’excuse pour le fait que les entreprises ne soient pas en mesure d’envisager de vendre leurs produits ou services que lorsqu’ils sont déjà rentables.
Risque stratégique
- Risques liés à la tendance: Dans une forte tendance baissière, le prix peut continuer à s’écarter de l’EMA et ne pas revenir, provoquant un phénomène de “ prise de vol ” qui entraîne des pertes continues.
- Paramètre SensibilitéUn seuil de déviation de 10% peut ne pas s’appliquer à toutes les conditions du marché, peut être difficile à déclencher dans un environnement à faible volatilité et peut être trop fréquent dans un environnement à forte volatilité.
- Manque de mécanisme de prévention: Le code n’a pas de paramètre de stop-loss explicite, ce qui peut entraîner des pertes plus importantes si le marché continue de se détériorer.
- Dépend de l’exactitude de l’EMA: l’hypothèse stratégique est que l’EMA est une référence à la moyenne effective des prix, mais cela peut ne pas être vrai dans certaines conditions de marché.
- Risques liés à la liquidité: dans les marchés à faible liquidité, les ordres d’achat ou de vente risquent de glisser ou de ne pas être entièrement exécutés.
- Marge de profit fixe: La marge bénéficiaire est fixée à 1, sans tenir compte de l’ajustement d’adaptabilité aux différentes fluctuations du marché.
Direction d’optimisation
- Déviation de la margeModification de 10% de seuil d’écart fixe en un seuil dynamique basé sur la volatilité récente, par exemple en utilisant l’indicateur ATR pour ajuster les conditions d’entrée.
- Augmentation du mécanisme de prévention des pertes: introduire des conditions de stop-loss basées sur le temps ou le prix, telles que la fixation d’une durée de conservation maximale ou d’un pourcentage de perte maximal autorisé.
- Confirmation à plusieurs cycles: juger les tendances en combinant des périodes plus longues (comme le solstice ou le printemps) et éviter d’entrer en jeu lorsque la tendance principale est inversée.
- Construction par lots et élimination: réaliser des achats échelonnés et des ventes par lots, plutôt que de créer ou de liquider toutes les positions en une seule fois, pour disperser les risques.
- Ajout de conditions de filtrage: ajout d’indicateurs techniques supplémentaires (comme le RSI ou le MACD) comme conditions de filtrage pour améliorer la qualité du signal de négociation.
- Adaptation au cycle EMA: essayez d’utiliser des cycles d’EMA adaptatifs plutôt que des cycles fixes de 50, afin de rendre la stratégie plus adaptée aux conditions changeantes du marché.
- Optimisation de la détection: effectuer un large retour d’expérience dans différents cycles et conditions de marché afin de trouver la combinaison optimale de paramètres.
Résumer
La stratégie de retour au décalage de la moyenne des 50 EMA est un système de trading automatisé basé sur l’analyse technique qui cherche des opportunités de trading en capturant des écarts significatifs du prix par rapport à la moyenne. La stratégie est simple et intuitive, adaptée aux environnements de marché plus volatils, mais présente également certains risques, en particulier dans les marchés à forte tendance.
Code source de la stratégie
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("SUIBTC 2H - EMA dip public",overlay=true,initial_capital=100,default_qty_value=100, default_qty_type = strategy.cash,process_orders_on_close=false,calc_on_every_tick=false)
BuyTrigger = input.bool(false)
SellTrigger = input.bool(false)
src = input(open, title="Source")
offset = input.int(title="Offset", defval=5, minval=-500, maxval=500)
ema20 = ta.ema(close, 50)
plot(ema20, title="ema20", color=color.yellow, linewidth=3)
diff_perct = ((ema20 - close) / ema20) * 100
diff_perct2 = ((high - ema20) / ema20) * 100
if ( diff_perct > 10)
BuyTrigger := true
if( diff_perct2 > 0 and strategy.openprofit > 1)
SellTrigger := true
notInTrade = strategy.position_size <= 0
inTrade = strategy.position_size > 0
timeSinceLastTrade_ms = time - strategy.opentrades.entry_time(0)
if (BuyTrigger and notInTrade )
strategy.order("long", strategy.long , oca_name = 'audusdt' , when = BuyTrigger ,limit = open, comment = "buy: SUIBTC EMA Dip")
if (SellTrigger and inTrade )
strategy.close(id="long" , qty_percent = 100, comment = "sell: SUIBTC EMA Dip")