Stratégie combinée avec plusieurs indicateurs

Auteur:ChaoZhang est là., Date: 2023-10-07 10h25 et 40 min
Les étiquettes:

Résumé

Cette stratégie combine plusieurs indicateurs techniques pour générer des signaux commerciaux plus précis et fiables. Elle se compose de deux parties: la première partie utilise la stratégie d'inversion 123 et la deuxième partie utilise l'indicateur TEMA. Les signaux commerciaux générés par les deux sont combinés pour filtrer les mauvais signaux et améliorer la qualité du signal.

La logique de la stratégie

La première partie utilise la stratégie de renversement 123. Elle est basée sur l'indicateur stochastique. Lorsque le prix de clôture montre un renversement pendant deux jours consécutifs (par exemple, en passant de la hausse à la baisse), et que l'indicateur stochastique montre un signal de surachat ou de survente, il génère des signaux d'achat ou de vente.

Plus précisément, lorsque le prix de clôture est supérieur aux jours précédents et que la ligne lente stochastique est inférieure à 50, il génère un signal d'achat.

La deuxième partie utilise l'indicateur TEMA, qui est l'abréviation de Triple Exponential Moving Average, et est calculé comme suit:

TEMA est égal à 3Le montant de l'aide est fixé à l'annexe I.Le montant de l'aide accordée par l'État membre concerné à l'exécution de la procédure de sélection est calculé en fonction de l'importance de l'aide accordée.

où N est la longueur du paramètre. Si le prix de clôture est supérieur à la valeur TEMA, il génère un signal d'achat. Si le prix de clôture est inférieur à la valeur TEMA, il génère un signal de vente.

Enfin, les signaux des deux indicateurs sont combinés. Ce n'est que lorsque les deux indicateurs génèrent des signaux cohérents (achat ou vente), que des signaux de trading réels sont générés.

Les avantages

  • La combinaison de plusieurs indicateurs permet de filtrer certains signaux erronés et d'améliorer la qualité du signal.
  • La stratégie d'inversion des prix évite de courir après des prix élevés et des ventes paniques en réagissant à des inversions de prix réelles.
  • Le lissage multiple de TEMA réduit le bruit et génère des signaux plus fiables.
  • La combinaison de deux types d'indicateurs différents assure largement la fiabilité des signaux de négociation.

Risques et améliorations

  • Les stratégies d'inversion comportent des risques inhérents de manquer des tendances haussières majeures dans un marché haussier.
  • L'ajustement des paramètres TEMA pourrait optimiser la sensibilité de l'indicateur.
  • Si les paramètres ne sont pas correctement réglés, les deux indicateurs pourraient générer trop peu de signaux.
  • Ajouter des filtres pour désactiver les stratégies dans certains environnements de marché pourrait aider à contrôler les risques.

Résumé

Cette stratégie améliore la qualité du signal grâce à une combinaison raisonnable de plusieurs indicateurs, ce qui en fait une stratégie de trading quantitative très efficace.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/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
// This study plots the TEMA1 indicator. TEMA1 ia s triple MA (Moving Average),
// and is calculated as 3*MA - (3*MA(MA)) + (MA(MA(MA)))
//
// 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


TEMA(Length) =>
    pos = 0.0
    xPrice = close
    xEMA1 = ema(xPrice, Length)
    xEMA2 = ema(xEMA1, Length)
    xEMA3 = ema(xEMA2, Length)
    nRes = 3 * xEMA1 - 3 * xEMA2 + xEMA3
    pos := iff(close > nRes, 1,
             iff(close < nRes, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & TEMA1", 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, "---- TEMA1 ----")
LengthTEMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posT3A = TEMA(LengthTEMA)
pos = iff(posReversal123 == 1 and posT3A == 1 , 1,
	   iff(posReversal123 == -1 and posT3A == -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