Strategi Trend Jangkauan Harga

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

img

Ringkasan

Strategi Trend Volume Harga Terpanjang (EPVT) adalah strategi gabungan penunjuk teknikal. Ia menggabungkan penunjuk percepatan momentum dengan penunjuk tambahan lain untuk mengenal pasti titik pembalikan trend dan pergeseran momentum yang berpotensi.

Prinsip Strategi

Indikator teras strategi ini adalah Trend Volume Harga Terpanjang (EPVT). Kaedah penghitungannya adalah: jumlah dagangan kumulatif * perubahan harga peratusan. Kemudian mengira nilai maksimum dan minimum EPVT dalam tempoh tertentu untuk mendapatkan julat penanda aras. kurva penanda aras adalah kurva perbezaan antara EPVT dan julat penanda aras ini.

Apabila kurva penunjuk EPVT melintasi di atas paksi sifar, ia menunjukkan bahawa tekanan membeli meningkat dan isyarat panjang muncul. Sebaliknya, apabila EPVT melintasi di bawah paksi sifar, isyarat pendek muncul.

Untuk meningkatkan kualiti isyarat, strategi ini juga menggunakan purata bergerak mudah untuk mengesahkan kebolehpercayaan perubahan trend.

Analisis Kelebihan

Strategi ini menggabungkan penunjuk dari tiga dimensi: trend, momentum dan jumlah dagangan, yang dapat menilai sentimen dan intensiti pasaran dengan lebih komprehensif.

Menetapkan tiga tahap mengambil keuntungan untuk keluar boleh memilih nisbah keuntungan yang berbeza mengikut pilihan risiko anda sendiri.

Analisis Risiko

Strategi ini agak bergantung kepada morfologi lengkung penunjuk, dan akan mengeluarkan isyarat palsu apabila trend tidak biasa.

Parameter boleh diselaraskan dengan sewajarnya atau penapis lain boleh ditambah untuk mengoptimumkan.

Arah pengoptimuman

  1. Pengoptimuman parameter, seperti menyesuaikan parameter kitaran EPVT untuk mencari kombinasi parameter yang optimum.

  2. Tambahkan keadaan penapisan trend, seperti menilai arah saluran harga atau purata bergerak berdasarkan isyarat EPVT.

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

Ringkasan

Strategi trend volume harga diperluaskan percepatan momentum menangkap perubahan sentimen pasaran melalui penunjuk EPVT, mengambil kesempatan daripada titik perubahan trend yang berpotensi. Menetapkan tiga tahap mengambil keuntungan nisbah yang berbeza membolehkan memenuhi selera risiko pelabur yang berbeza. Strategi ini bernilai ujian dan pengoptimuman lanjut untuk menjadi alat yang berkesan untuk mengenal pasti perubahan trend jangka pendek di pasaran.


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