
Strategi ini adalah sistem perdagangan pelacakan tren yang didasarkan pada persilangan indikator tren volume transaksi harga (PVT) dengan rata-rata bergerak indeksnya (EMA). Strategi ini mengidentifikasi perubahan tren pasar dengan memantau persilangan indikator PVT dengan EMA-nya, sehingga menangkap peluang perdagangan potensial. Metode ini menggabungkan perubahan harga dan volume transaksi, yang dapat lebih akurat mencerminkan pergerakan pasar yang sebenarnya.
Inti dari strategi ini adalah menggunakan indikator PVT, yang melacak tren pasar dengan menggabungkan perubahan harga dengan volume transaksi. Secara khusus, persentase perubahan harga pada hari itu dikalikan dengan volume transaksi pada hari itu ditambah untuk mendapatkan nilai PVT. Kemudian menghitung 20 siklus EMA PVT sebagai garis referensi.
Strategi PVT-EMA trend crossover adalah sistem perdagangan lengkap yang menggabungkan analisis harga, volume transaksi, dan tren. Meskipun ada beberapa risiko keterlambatan dan sinyal palsu, dengan optimasi dan manajemen risiko yang tepat, strategi ini dapat menjadi alat perdagangan yang andal.
/*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)