Stratégie à double inversion haute-basse

Auteur:ChaoZhang est là., Date: 2024-01-03 13:56:04 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie double inversion haut-bas est une stratégie quantitative qui combine des signaux doubles. Elle intègre une stratégie intraday basée sur l'inversion et une stratégie de jugement de tendance qui utilise la différence entre le prix le plus élevé d'hier et une moyenne mobile.

Principaux

Premièrement, la partie de la stratégie d'inversion. Cette stratégie évalue la formation de signaux lorsqu'il y a un renversement du prix de clôture pendant deux jours consécutifs, tout en combinant le jugement des états de surachat et de survente à l'aide de l'indicateur stochastique. Plus précisément, il s'agit d'un signal de vente lorsque le prix de clôture change de hausse à baisse pendant deux jours consécutifs, et que l'indicateur stochastique rapide est au-dessus de l'indicateur stochastique lent; c'est un signal d'achat lorsque le prix de clôture change de baisse à hausse pendant deux jours consécutifs, et que l'indicateur stochastique rapide est en dessous de l'indicateur stochastique lent.

Deuxièmement, la partie de la stratégie haut-bas. Cette stratégie utilise la différence entre le prix le plus élevé d'hier et une moyenne mobile exponentielle de 13 périodes pour déterminer la tendance. Elle génère un signal d'achat lorsque le prix le plus élevé est au-dessus de la moyenne mobile; elle génère un signal de vente lorsque le prix le plus élevé est en dessous de la moyenne mobile.

Enfin, cette stratégie intègre les deux signaux. Elle prend une action d'achat lorsque les deux signaux montrent un signal d'achat en même temps; elle prend une action de vente lorsque les deux signaux montrent un signal de vente en même temps.

Les avantages

Cette stratégie de double signal peut réduire efficacement les signaux incorrects et les transactions inutiles. La partie inversion peut déterminer les conditions de surachat et de survente pour éviter de poursuivre les hauts et les bas de vente. La partie haut-bas peut déterminer les divergences de tendance des prix pour éviter de fausses ruptures. Lors de la combinaison des jugements, les signaux de trading réels ne sont générés que lorsque les signaux doubles sont dans le même sens, ce qui peut améliorer considérablement la fiabilité des signaux et réduire les transactions inefficaces.

En outre, l'inversion et les parties haut-bas utilisent différents types d'indicateurs et de critères de jugement, de sorte qu'ils peuvent servir à se valider mutuellement et à réduire davantage les signaux incorrects.

Analyse des risques

Le plus grand risque de cette stratégie est que les signaux unilatéraux raisonnables peuvent être ignorés dans un marché à forte tendance. Lorsque la tendance est très évidente, le jugement du signal de la partie d'inversion peut être erroné, ce qui entraînera l'échec des signaux unilatéraux dans la partie haute-basse pour ne pas être exécutés en tant que transactions. Cela est particulièrement important dans les marchés haussiers et baissiers à tendance.

En outre, des paramètres mal réglés peuvent également affecter la stratégie. Les paramètres dans la partie inversée doivent prendre en compte le système de moyenne mobile du cycle et la période de moyenne mobile dans la partie haute-basse doit être coordonnée. Si les périodes des deux sont incorrectes, il y aura des faux signaux médiocres ou tout simplement aucun signal.

Optimisation

Tout d'abord, le paramètre de longueur de la moyenne mobile dans la partie haute-basse peut être testé pour le rendre plus coordonné avec les indicateurs de cycle dans la partie inversion.

Deuxièmement, la partie d'inversion peut également tester en utilisant des entités de ligne K au lieu d'utiliser uniquement le prix de clôture qui est facilement influencé.

Enfin, il peut également essayer d'envisager d'entreprendre des transactions uniquement lorsque des signaux de renversement apparaissent pendant la session, car la méthode actuelle de détention intradienne présente des risques plus élevés.

Conclusion

La stratégie double inversion haute-basse intègre des signaux de plusieurs indicateurs et effectue une double vérification avant d'émettre des signaux d'achat et de vente. Ce mécanisme de filtrage strict des signaux peut réduire efficacement l'impact des signaux invalides et incorrects sur le trading réel.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/11/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 indicator plots the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if below.
//
// 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

    
HEMA(Length) =>
    pos = 0.0
    xPrice = close  // You can use any series
    xEMA = ema(xPrice, Length)
    nRes = high[1] - nz(xEMA[1])
    pos:= iff(nRes > 0, 1,
    	   iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
	   iff(posReversal123 == -1 and posHEMA == -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