Stratégie de négociation à double inversion

Auteur:ChaoZhang est là., Date: 2023-11-01 16:49:36 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de négociation à double renversement combine les sous-stratégies 123 inversion et N barres consécutives vers le bas pour saisir efficacement les opportunités de négociation en cas de renversement de tendance.

La logique de la stratégie

123 Retour en arrière

La sous-stratégie de l'inversion 123 est basée sur le principe:

En ce qui concerne les opérations de reporting, les valeurs de reporting sont les valeurs de reporting des opérations de reporting des opérations de reporting.

En ce qui concerne les prix de clôture des deux jours précédents, il est préférable d'opter pour un prix court lorsque le prix de clôture des deux jours précédents est inversé (c'est-à-dire que si la clôture précédente est inférieure à la clôture précédente, la clôture actuelle est supérieure à la clôture précédente) et que le stochastique rapide de 9 jours est supérieur à 50.

Cette sous-stratégie identifie l'inversion de tendance en évaluant l'inverse des deux prix de clôture précédents combinés à un indicateur stochastique.

N Barres consécutives vers le bas

La sous-stratégie N barres consécutives vers le bas est basée sur le principe:

Comptez les N barres récentes et voyez si les prix de clôture montrent un mouvement à la baisse consécutif.

Cette sous-stratégie identifie l'inversion de tendance par des mouvements de prix à la baisse consécutifs.

Combinaison de signaux

La stratégie de trading à double inversion combine les deux sous-stratégies en ne prenant des positions réelles que lorsque les deux signaux longs ou courts sont déclenchés en même temps.

Cela aide à filtrer certains faux signaux et rend les signaux de trading plus fiables.

Analyse des avantages

La stratégie de négociation à double inversion présente les avantages suivants:

  1. La combinaison de plusieurs sous-stratégies aide à filtrer efficacement les faux signaux et améliore la fiabilité des signaux.

  2. La stratégie d'inversion 123 peut identifier avec précision les points d'inversion de tendance à court terme.

  3. L'utilisation d'indicateurs techniques tirés des graphiques boursiers rend la stratégie flexible pour ajuster les paramètres pour différents produits.

  4. La logique de la stratégie est simple et facile à comprendre et à suivre, adaptée aux débutants.

  5. Les paramètres personnalisables des sous-stratégies permettent une optimisation pour différents produits, améliorant ainsi l'adaptabilité.

Analyse des risques

Il existe également certains risques associés à la stratégie de négociation à double inversion:

  1. Les signaux d'inversion peuvent parfois donner de faux signaux. Bien que les signaux combinés réduisent les faux signaux, le risque ne peut être complètement éliminé. Il est recommandé d'utiliser des arrêts.

  2. Les sous-stratégies utilisent des indicateurs simples et peuvent ne pas s'adapter bien à des situations de marché complexes.

  3. Les paramètres de sous-stratégie doivent être optimisés pour différents produits, sinon des problèmes de surajustement peuvent survenir.

  4. Les stratégies d'inversion sont mieux adaptées au moyen et à long terme. Il existe des risques d'arrêt à court terme.

  5. Les signaux d'inversion peuvent apparaître lors de corrections dans une tendance, mais la tendance globale doit être confirmée afin d'assurer la cohérence avec la tendance principale.

Directions d'optimisation

La stratégie de négociation à double inversion peut être optimisée dans les aspects suivants:

  1. Introduire plus d'indicateurs techniques, construire un modèle multifactoriel pour améliorer l'adaptabilité aux situations de marché complexes, par exemple en combinant avec des moyennes mobiles, des bandes de Bollinger, etc.

  2. Ajouter des modèles d'apprentissage automatique pour tirer parti des fonctionnalités multidimensionnelles et améliorer la précision du signal.

  3. Optimiser les paramètres pour différents produits grâce à une formation pour améliorer l'adaptabilité.

  4. Incorporer des stratégies de stop-loss pour contrôler les risques d'une seule transaction.

  5. Développer des mécanismes dynamiques de dimensionnement des positions basés sur les conditions du marché et les signaux de sous-stratégie pour réduire les risques.

  6. Introduire des modules de filtrage des tendances afin d'éviter les contradictions entre les signaux et la tendance globale.

Conclusion

La stratégie de trading à double renversement capte efficacement les renversements de tendance en combinant les sous-stratégies de 123 renversements et N barres consécutives. Elle convient mieux aux avoirs à moyen et long terme et peut filtrer les faux signaux pour fournir des opportunités de trading fiables pendant les renversements de tendance. Mais il existe également certaines limitations qui doivent être résolues en introduisant des indicateurs plus techniques et une optimisation, ainsi qu'un stop loss et une dimensionnement des positions pour réduire les risques, afin de s'adapter à des environnements de marché plus complexes. Dans l'ensemble, elle fournit une approche simple et directe pour le trading à renversement de tendance et sert de bons matériaux d'apprentissage pour les débutants pour comprendre et apprendre des stratégies de trading quantitatives. Avec plus de techniques d'optimisation, elle peut devenir une stratégie de trading quantitative très pratique.


/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-28 03:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/03/2021
// 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
// Evaluates for n number of consecutive lower closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBD(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] <= open[1], nz(nCounter[1],0)+1,
                   iff(close[1] > open[1], 0, nCounter))
    C2 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C2== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Down", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Down ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBD = NBD(nLength)
pos = iff(posReversal123 == 1 and posNBD == 1 , 1,
	   iff(posReversal123 == -1 and posNBD == -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