Tên của chiến lược này là Chiến lược đảo ngược chỉ số khối lượng âm. Chiến lược này sử dụng Chỉ số khối lượng âm (NVI) và trung bình động của nó để xây dựng tín hiệu dài và ngắn và thực hiện giao dịch đảo ngược khi các điều kiện được đáp ứng. Nó thuộc thể loại chiến lược đảo ngược.
Chỉ số cốt lõi của chiến lược đảo ngược Chỉ số khối lượng âm là Chỉ số khối lượng âm (NVI). Công thức tính toán của NVI là:
Nếu khối lượng ngày hôm nay < khối lượng ngày trước: NVI = NVI ngày trước + tỷ lệ thay đổi giá ngày hôm nay
Nếu khối lượng ngày hôm nay >= khối lượng ngày trước: NVI = NVI ngày trước
Điều đó có nghĩa là NVI chỉ được cập nhật vào ngày khi khối lượng giao dịch giảm, và xu hướng của giá được phản ánh thông qua việc cộng và trừ tỷ lệ thay đổi giá.
Khi NVI trên trung bình di chuyển N ngày, đi dài.
Khi NVI dưới mức trung bình động trong N ngày, hãy bán ngắn.
Vì vậy, nó làm cho các giao dịch đảo ngược khi khối lượng thu hẹp.
Những lợi thế chính của chiến lược đảo ngược chỉ số khối lượng âm là:
Sử dụng tín hiệu âm lượng có thể tìm thấy các điểm đảo ngược và có một số lợi thế thời gian nhất định.
Lý thuyết chiến lược đơn giản, dễ hiểu và thực hiện.
Các thông số có thể được tối ưu hóa để thích nghi với môi trường thị trường khác nhau.
Chiến lược đảo ngược chỉ số khối lượng âm cũng có một số rủi ro:
Độ chính xác của tín hiệu khối lượng không thể được đảm bảo và có một xác suất nhất định về các giao dịch sai.
Cài đặt tham số không chính xác có thể dẫn đến giao dịch quá thường xuyên hoặc tín hiệu không rõ ràng.
Đảm bảo nguồn dữ liệu đáng tin cậy để tránh rủi ro từ dữ liệu khối lượng sai.
Những rủi ro này có thể được giảm thiểu thông qua tối ưu hóa tham số, chiến lược dừng lỗ, v.v.
Chiến lược đảo ngược chỉ số khối lượng âm có thể được tối ưu hóa trong các khía cạnh sau:
Tối ưu hóa các thông số trung bình động để tìm các thông số mô tả tốt hơn các đặc điểm của thị trường.
Thêm các chỉ số khác để lọc để tránh các giao dịch sai lầm không cần thiết. Ví dụ, thêm các phán đoán xu hướng khung thời gian lớn hơn.
Kết hợp với các phương pháp dừng lỗ mạnh để hạn chế lỗ đơn.
Kiểm tra sự khác biệt trong cài đặt tham số cho các giống khác nhau và đặt các tham số thích nghi.
Chiến lược đảo ngược chỉ số khối lượng âm thực hiện các hoạt động đảo ngược khi khối lượng giao dịch thu hẹp, nhằm mục đích nắm bắt các điểm đảo ngược xu hướng tiềm năng. Chiến lược này có lợi thế đơn giản và dễ hiểu, và cũng có một số rủi ro của các giao dịch sai. Sự ổn định và lợi nhuận của chiến lược có thể được cải thiện thông qua tối ưu hóa tham số, thêm các chỉ số phụ trợ, vv. Nói chung, chiến lược đảo ngược chỉ số khối lượng âm có triển vọng phát triển và ứng dụng tốt.
/*backtest start: 2023-12-13 00:00:00 end: 2023-12-20 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter 11/08/2017 // The theory behind the indexes is as follows: On days of increasing // volume, you can expect prices to increase, and on days of decreasing // volume, you can expect prices to decrease. This goes with the idea of // the market being in-gear and out-of-gear. Both PVI and NVI work in similar // fashions: Both are a running cumulative of values, which means you either // keep adding or subtracting price rate of change each day to the previous day`s // sum. In the case of PVI, if today`s volume is less than yesterday`s, don`t add // anything; if today`s volume is greater, then add today`s price rate of change. // For NVI, add today`s price rate of change only if today`s volume is less than // yesterday`s. // // 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="Negative Volume Index Backtest", shorttitle="NVI Str") EMA_Len = input(255, minval=1) reverse = input(false, title="Trade reverse") xROC = roc(close, 1) nRes = iff(volume < volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0)) nResEMA = ema(nRes, EMA_Len) pos = iff(nRes > nResEMA, 1, iff(nRes < nResEMA, -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="NVI") plot(nResEMA, color=blue, title="EMA")