
Chiến lược theo dõi xu hướng theo xu hướng theo xu hướng bằng cách tính toán đường trung bình di chuyển chỉ số kép của giá, tạo thành đường nhanh và đường chậm, đánh giá xu hướng giá dựa trên hình dạng chéo của hai đường. Chiến lược này thuộc về chiến lược giao dịch định lượng dựa trên theo dõi xu hướng.
Chiến lược này đầu tiên tính toán đường trung bình di chuyển chỉ số kép của giá, bao gồm đường nhanh và đường chậm. Các tham số đường nhanh là 4 chu kỳ và tham số đường chậm là 8 chu kỳ. Khi hai đường giao nhau, nó tạo ra tín hiệu mua và bán.
Chiến lược này đầu tiên có thể giao dịch theo xu hướng giá, tránh chi phí giao dịch. Thứ hai, hai đường trung bình di động lọc một phần tiếng ồn giá, có thể nắm bắt xu hướng giá một cách trơn tru. Thứ hai, các tham số chiến lược được tối ưu hóa linh hoạt, chu kỳ đường trung bình di động và tham số MACD có thể được điều chỉnh để phù hợp với các giống và tham số khác nhau. Cuối cùng, logic chiến lược đơn giản, rõ ràng, dễ hiểu và thực hiện, thiết kế thuật toán phù hợp để định lượng giao dịch.
Chiến lược này phụ thuộc vào tối ưu hóa tham số, nếu tham số được thiết lập không đúng cách, sẽ tạo ra rất nhiều tín hiệu sai. Ngoài ra, đường trung bình di chuyển đôi có độ trễ và có thể bỏ lỡ điểm biến đổi giá. Ngoài ra, giao dịch xu hướng dễ hình thành mô hình theo đuổi cao và giết chết giảm, có một số rủi ro. Ngoài ra, tính thanh khoản và phí xử lý của các loại giao dịch cũng có thể ảnh hưởng đến lợi nhuận chiến lược. Để giảm rủi ro, bạn có thể tối ưu hóa tham số thích hợp, kết hợp với các chỉ số khác để kiểm soát kích thước vị trí.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số chu kỳ của đường trung bình di chuyển kép, tìm các tham số kết hợp tốt nhất
Thêm các chỉ số khác để lọc tín hiệu, chẳng hạn như RSI, KD, để cải thiện chất lượng tín hiệu
Tăng chiến lược dừng lỗ, dừng lỗ kịp thời khi xu hướng đảo ngược
Điều chỉnh kích thước vị trí theo tình hình thị trường, kiểm soát rủi ro
Tối ưu hóa cho các tham số của các loại giao dịch khác nhau
Kết hợp các chiến lược cao cấp như học máy để nâng cao hiệu quả chiến lược
Chiến lược này nói chung là một chiến lược theo dõi xu hướng đơn giản dựa trên đường trung bình di chuyển kép. Ý tưởng của chiến lược rõ ràng, dễ thực hiện, điều chỉnh tham số linh hoạt, phù hợp với chiến lược nhập cảnh giao dịch định lượng. Tuy nhiên, chiến lược này có các vấn đề như theo đuổi đà giảm, tín hiệu chậm trễ, cần được tối ưu hóa hơn nữa để kiểm soát rủi ro và tăng cường sự ổn định.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 12/11/2017
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine
// tune these signals. The user may change the input (close), method (EMA), period lengths
// and guide values.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// WARNING:
// - For purpose educate only
////////////////////////////////////////////////////////////
strategy(title="SMI Ergodic Oscillator")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
xSMI = xSMA_R / xSMA_aR
xEMA_SMI = ema(xSMI, SmthLen)
pos = iff(xEMA_SMI < xSMI, -1,
iff(xEMA_SMI > xSMI, 1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xSMI, color=green, title="Ergotic SMI")
plot(xEMA_SMI, color=red, title="SigLin")