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.
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.
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)))