
Chiến lược chỉ số đường trung bình di chuyển là một chiến lược giao dịch định lượng dựa trên xu hướng thị trường dựa trên đường trung bình di chuyển và thực hiện các hoạt động vị trí dài hoặc ngắn. Chiến lược này đánh giá thị trường có đang mua quá mức hay bán quá mức bằng cách tính toán giá trung bình của một chu kỳ nhất định để nắm bắt cơ hội biến đổi giá.
Chỉ số cốt lõi của chiến lược này là chỉ số di chuyển trung bình ngẫu nhiên (Stochastic Oscillator).
低点 = 最近N天的最低价中的最低值
高点 = 最近N天的最高价中的最高值
K值 = (当前close - 低点)/(高点 - 低点)* 100
Trong đó, giá trị N là độ dài của Length. Chỉ số này chủ yếu phản ánh vị trí của giá đóng cửa hiện tại so với phạm vi giá N ngày gần đây nhất.
Khi giá trị K lớn hơn BuyBand, cho thấy giá cổ phiếu có thể mua quá mức, sẽ xảy ra điều chỉnh lại; khi giá trị K nhỏ hơn SellBand, cho thấy giá cổ phiếu có thể bán quá mức, sẽ xảy ra hồi phục.
Theo quy tắc này, chiến lược này sẽ bán và mở vị trí trong vùng mua quá mức và mua và mở vị trí trong vùng bán quá mức. Điều kiện đặt giá thấp là đường chỉ số quay trở lại khu vực giữa (((SellBand, BuyBand))
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có một số rủi ro:
Những rủi ro này có thể được giảm bớt bằng cách tối ưu hóa các tham số chỉ số một cách thích hợp, hoặc thêm các điều kiện lọc.
Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:
Chiến lược chỉ số đường trung bình di chuyển có ý tưởng tổng thể đơn giản, được sử dụng rộng rãi, hiệu quả đo lường lại khá ổn định, phù hợp với một trong những chiến lược nhập cảnh cho giao dịch định lượng. Tuy nhiên, chiến lược này xem xét các yếu tố đơn lẻ, có thể tối ưu hóa không gian giới hạn, chỉ phù hợp cho hoạt động ngắn hạn. Trong tương lai có thể được nâng cấp thông qua các phương tiện như tập hợp đa chỉ số, học máy.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 25/09/2017
// Simple Overbought/Oversold indicator
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Overbought/Oversold", shorttitle="OB/OS")
Length = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xOBOS = stoch(close, high, low, Length)
nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
pos = iff(nRes < SellBand, -1,
iff(nRes > BuyBand, 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(nRes, color=blue, title="OB/OS")