Stratégie d'oscillation de la moyenne TEMA haute et basse

Auteur:ChaoZhang est là., Date: 2023-11-15 17:49:52 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie utilise les indicateurs TEMA, VWMACD et HMA pour capturer la tendance à la baisse de Bitcoin. Sa logique principale est d'aller court lorsque VWMACD traverse sous 0, le prix est inférieur à HMA et TEMA rapide est inférieur à TEMA lent. Il sortira de la position lorsque VWMACD traverse au-dessus de 0, le prix est au-dessus de HMA ou TEMA rapide traverse au-dessus de TEMA lent.

Principe

Tout d'abord, calculez le VWMACD (la seule différence par rapport au MACD régulier est la façon de calculer la moyenne mobile) et tracez-le sous forme d'histogramme. Ensuite, ajoutez le HMA sous forme de filtre de tendance. Après cela, créez et ajoutez le TEMA rapide (5 périodes) et le TEMA lent (8 périodes) et calculez la différence entre eux pour tracer autour de 0.

La règle d'entrée spécifique est la suivante: lorsque le VWMACD est inférieur à 0, le prix est inférieur à HMA et le TEMA rapide est inférieur au TEMA lent, passez short.

La règle de sortie spécifique est la suivante: lorsque le VWMACD dépasse 0, le prix est supérieur à HMA ou que le TEMA rapide dépasse le TEMA lent, position close.

Analyse des avantages

  • Utilise une combinaison de trois indicateurs, améliore la fiabilité des signaux de trading.
  • Le VWMACD peut identifier les divergences et fournir des jugements de tendance précis.
  • HMAfiltré comme un filtre de tendance, évite les interférences sonores.
  • La combinaison TEMA rapide et lente capte les points de renversement à court terme.
  • Il adopte des paramètres à court terme, adaptés à la négociation à haute fréquence, détecte les tendances à la baisse à court terme.

Analyse des risques

  • Combinaison de plusieurs indicateurs, réglage complexe des paramètres requis.
  • Bien qu'ayant un filtre HMA, il est encore nécessaire d'empêcher les fausses ruptures sur différents marchés.
  • Des périodes de courte durée susceptibles de provoquer des interférences sonores sur le marché, des signaux erronés peuvent se produire.
  • Vous avez besoin d'un stop-loss strict pour éviter de grosses pertes inattendues.
  • Il faut se concentrer sur le contrôle des coûts de transaction, le commerce à haute fréquence facilement blessé par la friction.

Directions d'optimisation

  • Peut tester différentes combinaisons de paramètres pour trouver des paramètres optimaux.
  • Peut ajouter d'autres indicateurs comme RSI, KD pour l'assistance.
  • Peut utiliser des paramètres adaptatifs en fonction des différentes conditions du marché.
  • Peut optimiser la stratégie de stop-loss, comme le stop-loss de trailing.
  • Peut être combiné avec des indicateurs de volume pour éviter une poussée insuffisante.

Conclusion

Cette stratégie utilise la combinaison de VWMACD, HMA et TEMA rapide/lente pour capturer les tendances à la baisse à court terme du Bitcoin. Ses avantages sont des signaux relativement fiables et sa pertinence pour le trading à haute fréquence. Mais elle comporte également des risques tels que le réglage de paramètres complexes, sujet aux interférences sonores. Optimiser davantage les combinaisons de paramètres et ajouter des indicateurs auxiliaires peut rendre la stratégie plus stable et fiable.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)
    

slow = input(13, "Short period")
fast = input(21, "Long period")
signal = input(5, "Smoothing period")

Fast = ema( volume * close, fast ) / ema( volume, fast ) 
Slow = ema( volume * close, slow ) / ema( volume, slow ) 
Macd = Slow - Fast 
Signal = ema(Macd, signal) 
Hist=Macd-Signal
plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram)
plot(0, color=color.red)

length = input(400, minval=1, title = "HMA")
hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length)))

tema_length_1 = input(5, "Fast moving TEMA")
tema_length_2 = input(8, "Slow moving TEMA")


tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

threshold  = 0
tm = tema1 - tema2
plot_fast = plot(tm, color = tm > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

up =  crossover(tm, 0) 
down = crossunder(tm, 0)

longCondition =  (Hist < 0) and hullma > close and (tema1 < tema2)  and _testPeriod() 
strategy.entry('BUY', strategy.short, when=longCondition)  
 
shortCondition =  (Hist > 0) or hullma < close or up
strategy.close('BUY', when=shortCondition)


// Take profit  
tp = input(1, type=input.float, title='Take Profit (%)')  
sl = input(4, type=input.float, title='Stop Loss (%)')  
strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))

Plus de