Strategi Tren Volume Harga yang diperluas

Penulis:ChaoZhang, Tanggal: 2024-01-18 16:32:28
Tag:

img

Gambaran umum

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.

Prinsip Strategi

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.

Analisis Keuntungan

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.

Analisis Risiko

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.

Arah Optimalisasi

  1. Optimasi parameter, seperti menyesuaikan parameter siklus EPVT untuk menemukan kombinasi parameter yang optimal.

  2. Tambahkan kondisi penyaringan tren, seperti menilai arah saluran harga atau moving average berdasarkan sinyal EPVT.

  3. Mengoptimalkan strategi stop loss. seperti menetapkan stop nilai tetap atau ATR berhenti.

Ringkasan

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 ///////////


Lebih banyak