
Chiến lược này được cải tiến dựa trên chỉ số khối lượng giao dịch hạn chế (FVE). FVE là một chỉ số khối lượng giao dịch thuần túy, không tính đến sự thay đổi giá cả, chỉ quan tâm đến dòng tiền vào và chảy. Chiến lược này dựa trên FVE, phân loại khối lượng giao dịch dựa trên biến động, để đánh giá tâm trạng thị trường và dòng tiền.
Chiến lược này tính toán tỷ lệ biến động trong ngàyIntravà biến động ban ngàyInter, kết hợp với chênh lệch tiêu chuẩn tương ứngVintraVàVinter, có giá trị biến động.CutOff◦ Sau đó tính giá trị trung bình, giá trị trung bình trước và khối lượng giao dịch khác nhauMF, Xác định dòng tiền vào ((Chính trị) hoặc chảy ra ((Chính trị tiêu cực) ❖ NếuMFHơnCutOffNếu thị trường có xu hướng giao dịch và biến động, thì thị trường có xu hướng nhiệt tình, và màu xanh lá cây.MFTối thiểuCutOffMàu đỏ cho thấy khối lượng giao dịch và tỷ lệ biến động đồng hướng, thị trường có chủ nghĩa bi quan rõ ràng; nếu không, màu là màu xanh.
Chiến lược này kết hợp hai chỉ số khối lượng giao dịch và tỷ lệ biến động, có thể đánh giá chính xác hơn về tâm trạng thị trường. so với chỉ số đơn lẻ, có lợi thế về tính ổn định và độ tin cậy của phán đoán. Ngoài ra, tiêu chuẩn đánh giá chiến lược này được thiết kế đặc biệt cho tỷ lệ biến động và có thể thích ứng tốt với các thay đổi trong các tình huống khác nhau.
Chiến lược này phụ thuộc vào số lượng giao dịch và chỉ số biến động, và khi hai yếu tố này khác nhau, nó sẽ ảnh hưởng đến phán quyết. Ngoài ra, các tham số được đặt có ảnh hưởng lớn đến kết quả, hiệu quả của các giống và kết hợp tham số khác nhau rất khác nhau, cần tối ưu hóa mục tiêu.
Có thể xem xét kết hợp với các chỉ số hỗ trợ khác, chẳng hạn như MACD, OBV, v.v., để tránh tiếng ồn của khối lượng giao dịch và tỷ lệ biến động. Ngoài ra, có thể thiết kế cơ chế tham số thích ứng, điều chỉnh tham số theo các tham số động theo các tình huống khác nhau, tăng sự ổn định.
Chiến lược này kết hợp các lợi thế của khối lượng giao dịch và chỉ số biến động để đánh giá nhiệt tình của thị trường. Nó có độ chính xác và ổn định đánh giá cao hơn so với chỉ số đơn lẻ. Tuy nhiên, các tham số đặt và sự khác biệt về giống có ảnh hưởng đến kết quả đáng kể và vẫn cần điều chỉnh tối ưu hóa hơn nữa để phù hợp với nhiều môi trường giao dịch.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 22/08/2017
// The FVE is a pure volume indicator. Unlike most of the other indicators
// (except OBV), price change doesn?t come into the equation for the FVE
// (price is not multiplied by volume), but is only used to determine whether
// money is flowing in or out of the stock. This is contrary to the current trend
// in the design of modern money flow indicators. The author decided against a
// price-volume indicator for the following reasons:
// - A pure volume indicator has more power to contradict.
// - The number of buyers or sellers (which is assessed by volume) will be the same,
// regardless of the price fluctuation.
// - Price-volume indicators tend to spike excessively at breakouts or breakdowns.
// This study is an addition to FVE indicator. Indicator plots different-coloured volume
// bars depending on volatility.
//
// 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="Volatility Finite Volume Elements Strategy", shorttitle="FVI")
Samples = input(22, minval=1)
AvgLength = input(50, minval=1)
AlertPct = input(70, minval=1)
Cintra = input(0.1, step = 0.1)
Cinter = input(0.1, step = 0.1)
reverse = input(false, title="Trade reverse")
xVolume = volume
xClose = close
xhl2 = hl2
xhlc3 = hlc3
xMA = sma(xVolume, AvgLength)
xIntra = log(high) - log(low)
xInter = log(xhlc3) - log(xhlc3[1])
xStDevIntra = stdev(xIntra, Samples)
xStDevInter = stdev(xInter, Samples)
TP = xhlc3
TP1 = xhlc3[1]
Intra = xIntra
Vintra = xStDevIntra
Inter = xInter
Vinter = xStDevInter
CutOff = Cintra * Vintra + Cinter * Vinter
MF = xClose - xhl2 + TP - TP1
clr = iff(MF > CutOff * xClose, green,
iff(MF < -1 * CutOff * xClose, red, blue))
pos = iff(MF > CutOff * xClose, 1,
iff(MF < -1 * CutOff * xClose, -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(xVolume, color=clr, title="VBF")
plot(xMA, color=blue, title="VBF EMA")