Chiến lược này là một cải tiến dựa trên chỉ số Finite Volume Elements (FVE). FVE là một chỉ số khối lượng thuần túy không xem xét thay đổi giá, nhưng chỉ tập trung vào dòng chảy và dòng chảy quỹ. Chiến lược này màu khối lượng giao dịch dựa trên biến động trên cơ sở FVE để đánh giá tâm lý thị trường và dòng chảy quỹ.
Chiến lược tính toán biến động trong ngàyIntra
và biến động trong ngàyInter
, kết hợp với độ lệch chuẩn của chúngVintra
vàVinter
, để lấy ngưỡng biến độngCutOff
Sau đó nó tính toán sự khác biệtMF
giữa giá trung bình, giá trung bình trước đây và khối lượng để đánh giá dòng tiền vào (tích cực) hoặc dòng tiền ra (tích cực).MF
vượt quáCutOff
, nó có nghĩa là khối lượng giao dịch và biến động ở cùng một hướng và có sự nhiệt tình rõ ràng trên thị trường, màu được đặt thành màu xanh lá cây; nếuMF
là dưới âmCutOff
, có nghĩa là khối lượng giao dịch và biến động ở cùng một hướng và có sự bi quan rõ ràng trên thị trường, màu được đặt thành màu đỏ; nếu không màu xanh.
Chiến lược này kết hợp các chỉ số khối lượng giao dịch và biến động để đánh giá tinh thần thị trường chính xác hơn. So với các chỉ số đơn lẻ, nó có những lợi thế về sự ổn định và độ tin cậy trong phán đoán. Ngoài ra, các tiêu chí phán đoán của chiến lược này được thiết kế đặc biệt cho biến động và có thể thích nghi tốt với những thay đổi trong các điều kiện thị trường khác nhau.
Chiến lược dựa trên các chỉ số khối lượng giao dịch và biến động. Sự khác biệt giữa hai sẽ ảnh hưởng đến phán đoán. Ngoài ra, cài đặt tham số có tác động lớn hơn đến kết quả, với sự khác biệt lớn trong kết quả từ các loại khác nhau và sự kết hợp các tham số, đòi hỏi tối ưu hóa có mục tiêu.
Xem xét kết hợp các chỉ số khác để hỗ trợ phán đoán, chẳng hạn như MACD, OBV, vv, để tránh tiếng ồn từ khối lượng giao dịch và biến động. Nó cũng có thể thiết kế một cơ chế tham số thích nghi để điều chỉnh động các tham số theo các điều kiện thị trường khác nhau để cải thiện sự ổn định. Hoặc chúng ta có thể kiểm tra lại và tối ưu hóa các tham số để tìm danh mục tham số tốt nhất cho các giống cụ thể.
Chiến lược này tích hợp các lợi thế của khối lượng giao dịch và các chỉ số biến động để đánh giá mức độ nhiệt tình của thị trường. So với các chỉ số đơn lẻ, nó có độ chính xác và ổn định đánh giá cao hơn. Tuy nhiên, cài đặt tham số và sự khác biệt về đa dạng có ảnh hưởng đáng kể đến kết quả, và vẫn cần tối ưu hóa và điều chỉnh thêm để thích nghi với các môi trường giao dịch khác nhau. Nhìn chung, chiến lược có cơ sở lý thuyết hợp lý và tiềm năng cải tiến lớn.
/*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")