La stratégie du double renversement

Auteur:ChaoZhang est là., Date: le 26 février 2024 12:07:32
Les étiquettes:

img

Résumé

La double stratégie de renversement est une stratégie quantitative qui combine le modèle 123 de renversement et de renversement à trois barres pour améliorer la qualité du signal et réduire les risques.

Principe de stratégie

La double stratégie d'inversion regroupe deux types de stratégies de trading. La première est la stratégie d'inversion 123, qui utilise des indicateurs de différence de prix et se déclenche lorsque les prix s'inverseront sur deux jours consécutifs et que les indicateurs stochastiques franchiront les valeurs seuil. La seconde est la stratégie de modèle d'inversion à trois barres, qui regarde un graphique de chandeliers de trois jours et se déclenche lorsque le milieu de la journée affiche le plus bas et que le dernier jour se ferme au-dessus du plus haut du jour précédent.

Plus précisément, la stratégie de renversement 123 utilise un oscillateur stochastique de 9 jours pour identifier les conditions de surachat et de survente. Elle génère un signal d'achat lorsque les prix baissent pendant deux jours consécutifs et que les lectures stochastiques descendent en dessous de 50, et un signal de vente lorsque les prix augmentent pendant deux jours consécutifs et que le stochastique dépasse 50. La stratégie de modèle de renversement à trois barres détecte si les prix ont formé un modèle haut-bas-haut sur trois jours, indiquant une survente à court terme inversée par l'élan.

La double stratégie d'inversion nécessite des signaux concordants des deux stratégies avant de prendre des positions.

Analyse des avantages

Comparée aux systèmes à stratégie unique, la double stratégie d'inversion présente les avantages suivants:

  1. Amélioration de la qualité du signal, moins de faux signaux
  2. Confirmation de double indicateur, risque de recours réduit
  3. Capture les opportunités de renversement à court et à moyen terme
  4. Facile à comprendre et à mettre en œuvre

Risques et solutions

Le principal risque de la stratégie de double renversement est de manquer certaines opportunités rentables. En raison de ses exigences strictes en matière de signaux, certaines opportunités de trading identifiées par des indicateurs individuels seront sautées. Cela peut être atténué en ajustant les paramètres pour assouplir les conditions d'un indicateur et augmenter la fréquence des transactions.

Un autre risque est que les deux indicateurs échouent simultanément dans des conditions de marché extrêmes, ce qui entraîne un taux plus élevé de faux signaux. Pour de tels cas, des mécanismes de stop-loss peuvent être ajoutés pour annuler rapidement les positions et limiter les pertes.

Suggestions d'optimisation

D'autres optimisations pour la stratégie de double renversement comprennent:

  1. Ajuster les paramètres de l'indicateur stochastique afin d'améliorer la précision de l'évaluation de la surachat/survente
  2. Tester l'efficacité entre différents instruments de négociation pour trouver la meilleure adéquation des actifs
  3. Incorporer des modèles d'apprentissage automatique pour faciliter la validation des signaux et améliorer la précision
  4. Combinez plus de statistiques de marché comme les changements de volume, la volatilité intraday pour déterminer le moment optimal d'entrée.

Conclusion

La double stratégie d'inversion combine avec succès les principes de l'inversion moyenne avec l'analyse des modèles de bougies, capturant pleinement la cyclicité des prix.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar 
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in 
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range. 
//
// 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

BarReversalPattern() =>
    pos = 0.0
    pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
	         iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
pos3BarReversalPattern = BarReversalPattern()
pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1,
	   iff(posReversal123 == -1 and pos3BarReversalPattern == -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 ? red: possig == 1 ? green : blue ) 

Plus de