Chiến lược theo dõi xu hướng trung bình động kép


Ngày tạo: 2023-11-14 16:56:21 sửa đổi lần cuối: 2023-11-14 16:56:21
sao chép: 0 Số nhấp chuột: 618
1
tập trung vào
1617
Người theo dõi

Chiến lược theo dõi xu hướng trung bình động kép

Tổng quan

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.

Nguyên tắc chiến lược

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.

Phân tích lợi thế

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.

Phân tích rủi ro

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

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

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

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

  3. Tăng chiến lược dừng lỗ, dừng lỗ kịp thời khi xu hướng đảo ngược

  4. Đ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

  5. Tối ưu hóa cho các tham số của các loại giao dịch khác nhau

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

Tóm tắt

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.

Mã nguồn chiến lược
/*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")