
Strategi ini didasarkan pada indikator metrik untuk mendesain sinyal perdagangan, yang memungkinkan penilaian terhadap kekuatan jual beli di pasar.
Indikator VB mencerminkan dorongan perubahan volume transaksi terhadap harga. Konstruksi idealnya adalah:
Tingkat fluktuasi harian yang dihitung untuk harga khas mewakili kekuatan perubahan harga.
Kekuatan jual beli pada saat penutupan dinilai dengan perkalian volume transaksi dan kekuatan fluktuasi harga.
Nilai indikator berfluktuasi ke bawah pada sumbu 0 dan kekuatan dioda adalah positif negatif dari nilai indikator.
Strategi ini membangun indikator VB dan mengatur garis sinyal. Ketika indikator VB melewati garis sinyal, sinyal beli dihasilkan; Ketika indikator VB melewati garis sinyal, sinyal jual dihasilkan.
Kode langkah-langkah utama adalah sebagai berikut:
Perhitungan rata-rata fluktuasi harian dari harga khas inter sebagai kekuatan dari perubahan harga.
Tetapkan coef dari kekuatan berfluktuasi dalam kisaran interupsi, dan kekuatan berfluktuasi di luar kisaran ini akan dihitung sebagai coef.
Hitung kekuatan kuantitatif setelah pemotongan vcp.
Mencari dan mendapatkan indikator kuantitatif vcp vfi ≠
Setel panjang sinyalLength, untuk mendapatkan sinyal vfima。
Bandingkan indikator VB vfi dan sinyal vfima, menghasilkan sinyal transaksi.
Strategi ini memiliki keuntungan sebagai berikut:
Menggunakan hubungan kuantitas-harga untuk menilai kekuatan jual beli di pasar, tidak dipengaruhi oleh harga itu sendiri.
Parameter yang dapat diatur untuk mengontrol kekuatan kuantitatif dan menghindari dampak dari fluktuasi yang tidak normal.
Kombinasi indikator VB sendiri dengan perbandingan jalur sinyal, dapat mengatur waktu masuk yang wajar.
Metode perhitungan indikator sederhana dan jelas, mudah dioperasikan secara langsung.
Parameter indikator dan parameter jalur sinyal dapat disesuaikan untuk mengoptimalkan efek strategi.
Strategi ini juga memiliki beberapa risiko:
Indikator VB sensitif terhadap fluktuasi harga yang tidak biasa dan perlu pengaturan parameter interupsi yang tepat.
Harga saham lebih mungkin menyimpang dari sinyal indikator, dan harus dihindari mengikuti secara buta.
Parameter indikator dan parameter jalur sinyal perlu dioptimalkan dengan tepat untuk mencegah sinyal palsu.
Cocok untuk varietas dengan karakteristik kuantitatif yang jelas, tidak cocok untuk varietas dengan likuiditas yang buruk.
Ini adalah salah satu indikator yang paling penting untuk diwaspadai, karena indikator ini mungkin menunjukkan pergeseran pasar.
Risiko dapat dikontrol dengan menyesuaikan rentang parameter, filter dalam kombinasi dengan indikator lain, dan stop loss yang relaksasi sesuai.
Strategi ini dapat dioptimalkan dengan:
Optimalkan parameter komputasi untuk mengukur kekuatan, menyeimbangkan sensitivitas dan stabilitas.
Optimalkan parameter jalur sinyal, keseimbangan latensi dan kebisingan.
Menambahkan indikator seperti Volume Spread Analysis untuk validasi.
Meningkatkan trend dan mendukung resistance indicator, menghindari trading ke arah yang tidak menguntungkan.
Tetapkan mekanisme stop loss yang dinamis dan sesuaikan stop loss dengan volatilitas pasar.
Menggunakan metode pembelajaran mesin untuk melatih kombinasi parameter yang optimal.
Uji ulang dilakukan pada berbagai varietas dan siklus untuk menilai kehandalan strategi.
Bandingkan pengaruh parameter indikator yang berbeda pada kurva pendapatan, cari parameter optimal.
Strategi ini didasarkan pada indikator metrik harga dan panjang, untuk menilai kekuatan jual beli. Ini memiliki kelebihan seperti desain indikator sederhana, parameter yang dapat disesuaikan, tetapi juga ada risiko sinyal palsu tertentu. Dengan mengoptimalkan parameter, menghindari pasar yang tidak menguntungkan, dan langkah-langkah lainnya, dapat meningkatkan stabilitas strategi.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("VB Strategy", overlay=true)
length = input(130, title="거래량 길이")
coef = input(0.2, title="계수")
vcoef = input(2.5, title="최대 계수")
signalLength=input(5)
smoothVFI=input(false, type=bool, title="부드럽게")
//볼밴
length2 = input(20, minval=1, title="볼밴 길이")
ma(x,y) => smoothVFI ? sma(x,y) : x
typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, length )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax)
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )
vfi = ma(sum( vcp , length )/vave, 3)
vfima=ema( vfi, signalLength )
d=vfi-vfima
upper = vfima + stdev(vfi, length2)
lower = vfima - stdev(vfi, length2)
buysignal = cross(vfi, lower) and crossunder(vfi, lower) == 1 ? vfima : na
sellsignal = cross(vfi, upper) and crossover(vfi, upper) == 1 ? vfima : na
//times = timestamp("GMT+6", 2017, 12, 6, 00, 00)
//if (buysignal and times <= time)
if (buysignal)
if(strategy.position_size < 0)
strategy.close("SHORT")
if(strategy.position_size > 0)
strategy.order("LONG", true, 1, when = (low+high)/2)
if(strategy.position_size == 0)
strategy.entry("LONG", strategy.long, when = (low+high)/2)
//if (sellsignal and times <= time)
if (sellsignal)
if(strategy.position_size > 0)
strategy.close("LONG")
if(strategy.position_size < 0)
strategy.order("SHORT", false, 1, when = (low+high)/2)
if(strategy.position_size == 0)
strategy.entry("SHORT", strategy.short, when = (low+high)/2)