Chiến lược này là một hệ thống giao dịch theo xu hướng dựa trên sự chéo chéo giữa chỉ số xu hướng khối lượng giá (PVT) và Mức trung bình chuyển động biểu thức (EMA). Chiến lược xác định sự thay đổi xu hướng thị trường bằng cách theo dõi các tình huống chéo chéo giữa PVT và EMA của nó, do đó nắm bắt các cơ hội giao dịch tiềm năng. Phương pháp này kết hợp các biến động giá và thay đổi khối lượng để phản ánh chính xác hơn xu hướng thị trường thực sự.
Lòng cốt của chiến lược sử dụng chỉ số PVT, theo dõi xu hướng thị trường bằng cách kết hợp biến động giá với khối lượng giao dịch. Cụ thể, giá trị PVT được tính bằng cách tích lũy sản phẩm của tỷ lệ thay đổi giá hàng ngày và khối lượng hàng ngày. EMA 20 giai đoạn của PVT sau đó được tính như một đường tham chiếu. Các tín hiệu mua được tạo ra khi PVT vượt qua EMA của nó, trong khi các tín hiệu bán được tạo ra khi PVT vượt qua dưới EMA của nó. Các tín hiệu chéo này được sử dụng để xác định các điểm chuyển hướng thị trường.
Phương pháp giao dịch PVT-EMA Trend Crossover là một hệ thống giao dịch hoàn chỉnh kết hợp giá, khối lượng và phân tích xu hướng. Mặc dù nó có một số rủi ro chậm trễ và tín hiệu sai, chiến lược có thể trở thành một công cụ giao dịch đáng tin cậy thông qua tối ưu hóa và quản lý rủi ro thích hợp. Các nhà giao dịch được khuyên nên tiến hành kiểm tra kỹ lưỡng trước khi thực hiện trực tiếp và điều chỉnh các tham số theo đặc điểm thị trường cụ thể.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PakunFX //@version=5 strategy(title="PVT Crossover Strategy", shorttitle="PVT Strategy", overlay=false, calc_on_every_tick=true) // PVTの計算 var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close pvt = ta.cum(ta.change(src) / src[1] * volume) // EMAの計算(PVTをソースに使用) emaLength = input.int(20, minval=1, title="EMA Length") emaPVT = ta.ema(pvt, emaLength) // プロットをオフにする plot(emaPVT, title="EMA of PVT", color=#f37f20, display=display.none) // クロスオーバー戦略 longCondition = ta.crossover(pvt, emaPVT) shortCondition = ta.crossunder(pvt, emaPVT) // シグナル表示もオフにする plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", display=display.none) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", display=display.none) // 戦略エントリー if (longCondition) strategy.entry("Buy", strategy.long) if (shortCondition) strategy.entry("Sell", strategy.short)