La stratégie de l'inversion quantitative de la tendance des échanges T3-CCI

Auteur:ChaoZhang est là., Date: 2023-12-29 à 10h44.31
Les étiquettes:

img

Résumé

Cette stratégie combine l'utilisation de la stratégie de tendance d'inversion et de l'indicateur T3-CCI pour générer des signaux de négociation aux points d'inversion du marché.

Principe de stratégie

  1. Partie de la stratégie de tendance d'inversion: Utiliser la comparaison de prix de clôture de 2 jours pour juger des signaux d'inversion de prix, combiné à l'indicateur de ligne K lente de 9 jours pour déterminer les zones de surachat et de survente, et générer des signaux longs et courts.

  2. Partie T3-CCI: Utilisez la moyenne mobile T3 pour ramollir l'indicateur CCI afin de réduire les faux signaux et de déterminer les zones de surachat et de survente.

La direction finale du trading est déterminée par les signaux intégrés des deux parties.

Analyse des avantages

  1. L'utilisation de deux types d'indicateurs et de comparaisons de prix permet d'identifier efficacement les points de renversement potentiels.

  2. L'application de la moyenne mobile T3 améliore la qualité des signaux CCI et réduit les faux signaux.

  3. On peut s'attendre à ce que l'utilisation combinée de différents types de stratégies améliore la stabilité globale de la stratégie.

Analyse des risques

  1. En cas d'échec de l'inversion, il générera des signaux erronés et des pertes.

  2. Les paramètres doivent être ajustés en fonction des différents marchés.

  3. Les signaux d'inversion ont une mauvaise rapidité et ne peuvent pas capturer des inversions rapides dans le temps.

Directions d'optimisation

  1. Augmenter le filtrage de tendance pour éviter les pertes causées par des défaillances d'inversion.

  2. Essayez des méthodes d'apprentissage automatique pour optimiser automatiquement les paramètres.

  3. Augmenter le mécanisme de stop loss.

  4. Explorez des indicateurs plus efficaces pour juger du moment de l'inversion.

Résumé

Cette stratégie combine plusieurs indicateurs techniques pour juger des points d'inversion potentiels. Elle peut exploiter efficacement les opportunités d'inversion du marché et convient aux opérations à court terme.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/10/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 simple indicator gives you a lot of useful information - when to enter, when to exit
// and how to reduce risks by entering a trade on a double confirmed signal.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// 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

    
T3_CCI(CCI_Period,T3_Period,b) =>
    pos = 0.0
    e1 = 0.0
    e2 = 0.0
    e3 = 0.0
    e4 = 0.0
    e5 = 0.0
    e6 = 0.0
    xPrice = close
    b2 = b*b
    b3 = b2*b
    c1 = -b3
    c2 = (3*(b2 + b3))
    c3 = -3*(2*b2 + b + b3)
    c4 = (1 + 3*b + b3 + 3*b2)
    nn = iff(T3_Period < 1, 1, T3_Period)
    nr = 1 + 0.5*(nn - 1)
    w1 = 2 / (nr + 1)
    w2 = 1 - w1    
    xcci = cci(xPrice, CCI_Period)
    e1 := w1*xcci + w2*nz(e1[1])
    e2 := w1*e1 + w2*nz(e2[1])
    e3 := w1*e2 + w2*nz(e3[1])
    e4 := w1*e3 + w2*nz(e4[1])
    e5 := w1*e4 + w2*nz(e5[1])
    e6 := w1*e5 + w2*nz(e6[1])
    xccir = c1*e6 + c2*e5 + c3*e4 + c4*e3  
    pos:= iff(xccir > 0, 1,
           iff(xccir < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & FX Sniper:  T3-CCI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
CCI_Period = input(14, minval=1)
T3_Period = input(5, minval=1)
b = input(0.618)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3_CCI = T3_CCI(CCI_Period,T3_Period,b)
pos = iff(posReversal123 == 1 and posT3_CCI == 1 , 1,
	   iff(posReversal123 == -1 and posT3_CCI == -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