
Chiến lược lợi nhuận chỉ số KST là một chiến lược lựa chọn cổ phiếu được áp dụng cho chu kỳ 30 phút của SPY. Chiến lược này sử dụng giao thoa đa không gian của chỉ số KST để đánh giá thời gian vào và ra.
Chiến lược này chủ yếu dựa trên chỉ số KST. Chỉ số KST bao gồm các phần sau:
Điểm mua và bán dựa trên đường cong KST và đường cong Signal:
Chiến lược này có những lợi thế chính như sau:
Sử dụng tổng hợp chỉ số KST để tính đến biến động giá trong các khoảng thời gian khác nhau, làm cho chiến lược trở nên ổn định và đáng tin cậy hơn.
Chỉ số KST có đường cong ROC trung bình trọng lượng, cho phép biến động giá trong chu kỳ dài hơn đóng vai trò chủ đạo, có lợi cho việc nắm bắt xu hướng thị trường.
Ứng dụng trong SPY có hiệu quả đĩa cứng tốt.
Chiến lược này cũng có một số rủi ro:
Chỉ số KST, giống như chỉ số MA, dễ tạo ra tín hiệu giả trong tình huống chấn động. Nó có thể được tối ưu hóa bằng cách điều chỉnh tham số.
Entry và Exit hoàn toàn phụ thuộc vào chỉ số, không kết hợp với cơ bản cổ phiếu và phân tích thị trường lớn, dễ bị tổn thất lớn khi xảy ra sự kiện lớn.
Lựa chọn cổ phiếu chỉ giới hạn trong một SPY, có thể phân tán rủi ro của một SPY bằng cách mở rộng phạm vi lựa chọn cổ phiếu.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Tối ưu hóa tham số chỉ số KST, tìm kiếm sự kết hợp tham số tốt nhất.
Các tín hiệu giả tránh sự biến động của thị trường, kết hợp với chỉ số biến động.
Tăng chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ.
Mở rộng bể cổ phiếu, đưa vào các cổ phiếu phù hợp với các tham số, tăng sự ổn định chiến lược.
Chiến lược này sử dụng chỉ số KST để xác định xu hướng đường ngắn của cổ phiếu và có hiệu quả tốt trên SPY. Chúng ta có thể nâng cao sự ổn định và hiệu quả chiến đấu của chiến lược bằng các phương pháp như tối ưu hóa tham số, các biện pháp kiểm soát gió.
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("KST Strategy", shorttitle="KST", overlay=true)
roclen1 = input.int(11, minval=1, title="ROC Length #1")
roclen2 = input.int(15, minval=1, title="ROC Length #2")
roclen3 = input.int(20, minval=1, title="ROC Length #3")
roclen4 = input.int(33, minval=1, title="ROC Length #4")
smalen1 = input.int(9, minval=1, title="SMA Length #1")
smalen2 = input.int(14, minval=1, title="SMA Length #2")
smalen3 = input.int(8, minval=1, title="SMA Length #3")
smalen4 = input.int(15, minval=1, title="SMA Length #4")
siglen = input.int(9, minval=1, title="Signal Line Length")
smaroc(roclen, smalen) =>
ta.sma(ta.roc(close, roclen), smalen)
kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4)
sig = ta.sma(kst, siglen)
// Plot the KST and Signal Line
plot(kst, color=#009688, title="KST")
plot(sig, color=#F44336, title="Signal")
hline(0, title="Zero", color=#787B86)
// Strategy logic
longCondition = ta.crossover(kst, sig)
shortCondition = ta.crossunder(kst, sig)
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)