Strategi ini adalah sistem perdagangan trend-mengikuti berdasarkan persilangan antara penunjuk Trend Volume Harga (PVT) dan Purata Bergerak Eksponensial (EMA). Strategi ini mengenal pasti perubahan trend pasaran dengan memantau situasi persilangan antara PVT dan EMA, dengan itu menangkap peluang perdagangan yang berpotensi.
Inti strategi menggunakan penunjuk PVT, yang mengesan trend pasaran dengan menggabungkan pergerakan harga dengan jumlah dagangan. Khususnya, nilai PVT dikira dengan mengumpul hasil peratusan perubahan harga harian dan jumlah harian. EMA 20 tempoh PVT kemudian dikira sebagai garis rujukan. Isyarat beli dihasilkan apabila PVT melintasi EMA, sementara isyarat jual dihasilkan apabila PVT melintasi EMA. Isyarat silang ini digunakan untuk menentukan titik perubahan trend pasaran.
Strategi PVT-EMA Trend Crossover adalah sistem perdagangan lengkap yang menggabungkan analisis harga, jumlah, dan trend. Walaupun ia mempunyai beberapa risiko kelewatan dan isyarat palsu, strategi ini boleh menjadi alat perdagangan yang boleh dipercayai melalui pengoptimuman dan pengurusan risiko yang sesuai.
/*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)