Stratégie de négociation à légère inversion à double indicateur

Auteur:ChaoZhang est là., Date: 2023-10-17 15h45:09
Les étiquettes:

img

Résumé

La stratégie de trading à double indicateur combinant l'élan et les indicateurs de suivi de tendance pour le trading à court terme. La stratégie génère d'abord des signaux de trading à l'aide d'un indicateur de renversement, puis la combine avec un indicateur de suivi de tendance pour produire des signaux plus fiables.

Principe

La stratégie est composée de deux sous-stratégies.

La première est la stratégie de renversement 123. Elle surveille si un modèle de renversement de pic se produit. Plus précisément, elle générera un signal long si le prix de clôture des deux jours précédents chute et que le prix de clôture actuel est supérieur au prix de clôture précédent, avec la ligne lente stochastique inférieure à 50. Elle générera un signal court si les prix de clôture des deux jours précédents augmentent et que le prix de clôture actuel est inférieur au prix de clôture précédent, avec la ligne rapide stochastique supérieure à 50.

Le deuxième est l'indicateur ergodic, qui est un indicateur de tendance qui identifie la direction des tendances à moyen et long terme.

La stratégie combine les signaux des deux sous-stratégies. Elle n'ouvrira une position que lorsque les deux sous-stratégies génèrent des signaux cohérents. C'est-à-dire qu'elle ne négocie que lorsqu'il y a un léger renversement à court terme avec une forte tendance à moyen et long terme.

Les avantages

  • La combinaison de plusieurs indicateurs peut filtrer efficacement les faux signaux et améliorer la fiabilité.

  • La combinaison de l'inversion et du suivi de tendance offre des opportunités à court terme et évite les transactions contre-tendance.

  • Les paramètres stochastiques sont assez robustes pour réduire les coups de fouet.

  • Les paramètres de lissage de l'indicateur ergodique sont réglés de manière raisonnable pour mieux identifier les tendances.

  • La fréquence de négociation est appropriée, en saisissant les opportunités adéquates sans sur-trader.

  • Convient pour les transactions à moyen terme avec des délais flexibles.

Les risques

  • Les signaux d'inversion peuvent produire de faux signaux et doivent être validés par les indicateurs de tendance.

  • La faible fréquence de négociation peut faire perdre certaines opportunités à court terme.

  • Il pourrait y avoir des renversements après les renversements, ce qui nécessite un stop loss rapide.

  • Des paramètres mal réglés peuvent avoir une incidence significative sur les résultats.

  • Une trop grande dépendance à l'égard des indicateurs techniques risque d'entraîner une suradaptation.

Amélioration

  • Testez différents paramètres pour optimiser les sous-stratégies.

  • Introduire davantage d'indicateurs pour construire des modèles à facteurs multiples.

  • Appliquer l'apprentissage automatique pour l'optimisation des paramètres dynamiques.

  • Recherchez différentes méthodes de stop loss pour contrôler les risques.

  • Étudiez les coûts d'opportunité et ajustez la fréquence des opérations stratégiques.

  • Tester la robustesse de la stratégie dans différents régimes de marché.

Conclusion

La stratégie de trading à faible renversement à double indicateur tente de capturer les opportunités d'inversion à court terme sur des délais à moyen terme en utilisant des combinaisons d'indicateurs d'inversion et de suivi de tendance. Elle peut filtrer efficacement les faux signaux et contrôler les risques dans une certaine mesure. Cependant, des problèmes tels que les opportunités à court terme manquantes, la sensibilité des paramètres et les risques de suradaptation subsistent. Une amélioration supplémentaire de la stabilité et de la rentabilité peut être obtenue en incorporant plus d'indicateurs, en optimisant les paramètres, en ajustant la fréquence des transactions et en testant sur les marchés.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/07/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


EMDI(r,s,u,SmthLen) =>
    pos = 0
    xEMA = ema(close, r)
    xEMA_S = close - xEMA
    xEMA_U = ema(ema(xEMA_S, s), u)
    xSignal = ema(xEMA_U, u)
    pos := iff(xEMA_U > xSignal, 1,
    	     iff(xEMA_U < xSignal, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MDI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(32, minval=1)
s = input(5, minval=1)
u = input(5, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMDI = EMDI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posEMDI == 1 , 1,
	   iff(posReversal123 == -1 and posEMDI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Plus de