
Chiến lược giao dịch chỉ số quán tính là một chiến lược giao dịch thuật toán theo dõi xu hướng dựa trên chỉ số biến động tương đối (RVI). Chiến lược này đo lường động lực và xu hướng của thị trường, cổ phiếu hoặc cặp tiền tệ bằng cách tính toán RVI của chứng khoán. Nó có thể xác định hướng của xu hướng dài hạn, như một tín hiệu để thiết lập vị trí giao dịch.
Các chỉ số cốt lõi của chiến lược này là:Chỉ số quán tính(Inertia Indicator), có giá trị từ 0 đến 100. Chỉ số lớn hơn 50 đại diện cho quán tính tích cực, nhỏ hơn 50 đại diện cho quán tính tiêu cực. Chừng nào giá trị quán tính lớn hơn 50 liên tục, bạn có thể đánh giá xu hướng tăng dài hạn; ngược lại, là xu hướng giảm.
Quá trình tính toán chỉ số như sau:
Nếu nRes lớn hơn 50 đại diện cho quán tính dương, sẽ tạo ra tín hiệu mua; nếu nhỏ hơn 50 đại diện cho quán tính âm, sẽ tạo ra tín hiệu bán.
Ưu điểm lớn nhất của chiến lược này là có thể theo dõi và nắm bắt xu hướng thị trường, tránh thường xuyên mở vị trí trong tình huống biến động. Ngoài ra, tính toán chỉ số tương đối đơn giản, không yêu cầu nhiều tài nguyên tính toán, phù hợp với giao dịch thuật toán.
Rủi ro lớn nhất của chiến lược này là chỉ số tự nó bị tụt hậu, không thể bắt được 100% điểm đảo. Điều này có thể dẫn đến việc bỏ lỡ thời gian mở vị trí tốt hơn. Ngoài ra, cài đặt tham số của chỉ số cũng ảnh hưởng đến hiệu suất của chiến lược, cần phải tìm ra tham số tối ưu sau khi kiểm tra lại rất nhiều.
Để giảm thiểu rủi ro, bạn có thể xem xét sử dụng kết hợp với các chỉ số kỹ thuật hoặc chỉ số cơ bản khác, sử dụng nhiều yếu tố hơn để quyết định mở vị trí. Trong khi đó, hãy kiểm soát quy mô vị trí của mỗi giao dịch.
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 tham số: thay đổi các thiết lập tham số chu kỳ và tham số trượt để tìm các tổ hợp tham số tối ưu.
Kết hợp với các chỉ số khác. Sử dụng kết hợp với các chỉ số như trung bình di chuyển, RSI, để sử dụng nhiều yếu tố hơn trong ra quyết định.
Quản lý vị trí động. Định lượng vị trí của mỗi giao dịch được điều chỉnh động theo tình trạng thị trường và giá trị chỉ số.
Chiến lược dừng lỗ tự động. Thiết lập vị trí dừng lỗ, có thể kiểm soát hiệu quả tổn thất tối đa cho một giao dịch.
Chiến lược giao dịch chỉ số quán tính nói chung là một chiến lược theo dõi xu hướng đơn giản và đáng tin cậy. Nó đánh giá xu hướng giá dựa trên chỉ số quán tính và thiết lập vị trí giao dịch theo tiến độ.
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/05/2017
// The inertia indicator measures the market, stock or currency pair momentum and
// trend by measuring the security smoothed RVI (Relative Volatility Index).
// The RVI is a technical indicator that estimates the general direction of the
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100.
// Positive inertia occurs when the indicator value is higher than 50. As long as
// the inertia value is above 50, the long-term trend of the security is up. The inertia
// is negative when its value is lower than 50, in this case the long-term trend is
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Inertia Indicator", shorttitle="Inertia")
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
hline(50, color=green, linestyle=line)
xPrice = close
StdDev = stdev(xPrice, Period)
d = iff(close > close[1], 0, StdDev)
u = iff(close > close[1], StdDev, 0)
nU = (13 * nz(nU[1],0) + u) / 14
nD = (13 * nz(nD[1],0) + d) / 14
nRVI = 100 * nU / (nU + nD)
nRes = ema(nRVI, Smooth)
pos = iff(nRes > 50, 1,
iff(nRes < 50, -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=red, title="Inertia")