Strategi Extended Price Volume Trend (EPVT) adalah strategi kombinasi indikator teknis. Strategi ini menggabungkan indikator percepatan momentum dengan indikator tambahan lainnya untuk mengidentifikasi titik pembalikan tren potensial dan pergeseran momentum.
Indikator inti dari strategi ini adalah Extended Price Volume Trend (EPVT). Metode perhitungannya adalah: volume perdagangan kumulatif * persentase perubahan harga. Kemudian hitung nilai maksimum dan minimum EPVT selama periode tertentu untuk mendapatkan kisaran acuan. kurva indikator EPVT adalah kurva perbedaan antara EPVT dan kisaran acuan ini.
Ketika kurva indikator EPVT melintasi di atas sumbu nol, ini menunjukkan bahwa tekanan pembelian meningkat dan sinyal panjang muncul. Sebaliknya, ketika EPVT melintasi di bawah sumbu nol, sinyal pendek muncul.
Untuk meningkatkan kualitas sinyal, strategi juga menggunakan rata-rata bergerak sederhana untuk mengkonfirmasi keandalan perubahan tren.
Strategi ini menggabungkan indikator dari tiga dimensi: tren, momentum dan volume perdagangan, yang dapat menilai sentimen dan intensitas pasar secara lebih komprehensif.
Menetapkan tiga tingkat mengambil keuntungan untuk keluar dapat memilih rasio keuntungan yang berbeda sesuai dengan preferensi risiko Anda sendiri.
Strategi ini relatif sangat bergantung pada morfologi kurva indikator, dan akan mengeluarkan sinyal palsu ketika tren tidak khas.
Parameter dapat disesuaikan dengan tepat atau indikator penyaringan lainnya dapat ditambahkan untuk mengoptimalkan.
Optimasi parameter, seperti menyesuaikan parameter siklus EPVT untuk menemukan kombinasi parameter yang optimal.
Tambahkan kondisi penyaringan tren, seperti menilai arah saluran harga atau moving average berdasarkan sinyal EPVT.
Mengoptimalkan strategi stop loss. seperti menetapkan stop nilai tetap atau ATR berhenti.
Strategi tren volume harga diperpanjang percepatan momentum menangkap perubahan sentimen pasar melalui indikator EPVT, mengambil keuntungan dari titik balik tren potensial. Menetapkan tiga tingkat mengambil keuntungan dari rasio yang berbeda memungkinkan untuk memenuhi selera risiko yang berbeda dari investor. Strategi ini layak pengujian lebih lanjut dan optimasi untuk menjadi alat yang efektif untuk mengidentifikasi perubahan tren jangka pendek di pasar.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Extended Price Volume Trend", overlay=true )//@version=5 var cumVol = 0. cumVol += nz(volume) if barstate.islast and cumVol == 0 runtime.error("No volume is provided by the data vendor.") src = close lenght = input(200,"Trend Lenght") vt = ta.cum(ta.change(src)/src[1]*volume) upx = ta.highest(vt,lenght) downx = ta.lowest(vt,lenght) basex = (upx +downx)/2 VTX = vt - basex VTY = ta.valuewhen(ta.cross(VTX,0),close,0) plot(VTY, color=color.black, title="Extended-PVT") /////////////////////// STRATEGY //////////////// /////////////////////// TAKE PROFIT SECTION //////////////// longConditionx = ta.crossover(close,VTY) ShortConditionx = ta.crossunder(close,VTY) tp1 = input.int(10, minval=1,title = "TP-1") tp2 = input.int(20, minval=1,title = "TP-2") tp3 = input.int(30, minval=1,title = "TP-3") ematp = ta.ema(close,2) TPTAKA1S = VTY*(1-tp1/100) plot(TPTAKA1S, "SELL-TP1", color=color.red,linewidth = 1) TPTAKA2S = VTY*(1-tp2/100) plot(TPTAKA2S, "SELL-TP2", color=color.red,linewidth = 1) TPTAKA3S = VTY*(1-tp3/100) plot(TPTAKA3S, "SELL-TP3", color=color.red,linewidth = 1) TPTAKA1B = VTY*(1+tp1/100) plot(TPTAKA1B, "BUY-TP1", color=color.red,linewidth = 1) TPTAKA2B = VTY*(1+tp2/100) plot(TPTAKA2B, "BUY-TP2", color=color.red,linewidth = 1) TPTAKA3B = VTY*(1+tp3/100) plot(TPTAKA3B, "BUY-TP3", color=color.red,linewidth = 1) BUYTP = ta.crossunder(close,VTY) or ta.crossunder(ematp,TPTAKA1B) or ta.crossunder(ematp,TPTAKA2B) or ta.crossunder(ematp,TPTAKA3B) SELLTP = ta.crossover(close,VTY) or ta.crossover(ematp,TPTAKA1S) or ta.crossover(ematp,TPTAKA2S) or ta.crossover(ematp,TPTAKA3S) /////////////////////// STRATEGY //////////////// // Check for Long Entry longCondition = longConditionx==true if longCondition strategy.entry('Long', strategy.long, comment = "ENTER-LONG") buyclose = ShortConditionx==true or BUYTP==true // Exit condition strategy.close('Long', when=buyclose or BUYTP==true, comment = "EXIT-LONG") // Check for Short Entry ShortCondition = ShortConditionx==true if ShortCondition strategy.entry('Short', strategy.short, comment = "ENTER-SHORT") sellclose = longConditionx==true or SELLTP ==true // Exit condition strategy.close('Short', when=sellclose or SELLTP==true, comment = "EXIT-SHORT") ///// END OF STRATEGY ///////////