Chiến lược này sử dụng các chỉ số TEMA, VWMACD và HMA để nắm bắt xu hướng giảm của Bitcoin. Lý thuyết chính của nó là đi ngắn khi VWMACD vượt dưới 0, giá dưới HMA và TEMA nhanh dưới TEMA chậm. Nó sẽ thoát khỏi vị trí khi VWMACD vượt trên 0, giá trên HMA hoặc TEMA nhanh vượt trên TEMA chậm.
Đầu tiên tính VWMACD (sự khác biệt duy nhất từ MACD thông thường là cách tính trung bình động) và vẽ nó dưới dạng biểu đồ. Sau đó thêm HMA dưới dạng bộ lọc xu hướng. Sau đó tạo và thêm TEMA nhanh (5 giai đoạn) và TEMA chậm (8 giai đoạn), và tính sự khác biệt giữa chúng để vẽ xung quanh 0.
Quy tắc nhập khẩu cụ thể là: khi VWMACD dưới 0, giá dưới HMA và TEMA nhanh dưới TEMA chậm, đi ngắn.
Quy tắc thoát cụ thể là: khi VWMACD vượt trên 0, giá vượt trên HMA hoặc TEMA nhanh vượt trên TEMA chậm, vị trí đóng.
Chiến lược này sử dụng sự kết hợp của VWMACD, HMA và TEMA nhanh / chậm để nắm bắt xu hướng giảm ngắn hạn của Bitcoin. Ưu điểm của nó là các tín hiệu tương đối đáng tin cậy và phù hợp với giao dịch tần số cao. Nhưng nó cũng có những rủi ro như điều chỉnh tham số phức tạp, dễ bị nhiễu nhiễu. Tăng cường thêm các combo tham số và thêm các chỉ số phụ trợ có thể làm cho chiến lược ổn định và đáng tin cậy hơn.
/*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)))