
Chiến lược này sử dụng ba chỉ số TEMA, VWMACD và HMA để nắm bắt xu hướng giảm giá của Bitcoin. Lập luận chính của nó là phá giá khi giá trên VWMACD vượt qua 0 đường, giá thấp hơn đường trung bình HMA và đường ngắn TEMA thấp hơn đường dài TEMA.
Đầu tiên, tính toán VWMACD (~ và MACD thông thường chỉ khác nhau về cách tính toán đường trung bình di chuyển) và vẽ nó thành một biểu đồ cột. Sau đó thêm HMA làm bộ lọc xu hướng. Sau đó, tạo và thêm đường nhanh TEMA (~ 5 chu kỳ) và đường chậm TEMA (~ 8 chu kỳ) và tính toán chênh lệch của cả hai và vẽ nó ở gần trục 0.
Các quy tắc nhập cảnh cụ thể là: Khi VWMACD thấp hơn 0 trục, giá thấp hơn đường trung bình HMA và đường nhanh TEMA thấp hơn đường chậm TEMA thì trống.
Các quy tắc cụ thể là: Khi VWMACD đi qua 0-axis, giá cao hơn đường trung bình HMA hoặc đường nhanh TEMA đi qua đường chậm TEMA.
Chiến lược này sử dụng sự kết hợp của VWMACD, HMA và TEMA nhanh, Ziel trong việc nắm bắt xu hướng giảm ngắn hạn của Bitcoin. Ưu điểm của nó là tín hiệu đáng tin cậy, phù hợp với giao dịch tần số cao. Nhưng cũng có các tham số điều chỉnh phức tạp, dễ bị nhiễu nhiễu và các rủi ro khác. Bằng cách tiếp tục tối ưu hóa các tham số, thêm các chỉ số phụ trợ, chiến lược 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)))