Strategi Perdagangan VWAP Berdasarkan Saluran Harga


Tanggal Pembuatan: 2024-02-19 14:25:18 Akhirnya memodifikasi: 2024-02-19 14:25:18
menyalin: 0 Jumlah klik: 782
1
fokus pada
1617
Pengikut

Strategi Perdagangan VWAP Berdasarkan Saluran Harga

Ringkasan

Strategi ini bernama Price Channel VWAP Trading Strategy, yaitu strategi yang didasarkan pada saluran harga untuk mencapai perdagangan VWAP. Gagasan utama dari strategi ini adalah: dalam saluran harga, menggunakan garis rata-rata indikator VWAP dan garis saluran yang bergeser ke atas dan ke bawah untuk melakukan penilaian titik jual beli, membuka posisi sesuai dengan persentase total aset dari posisi tetap saat menerobos garis saluran, dan menutup posisi saat kembali ke garis rata-rata VWAP.

Prinsip Strategi

Strategi ini menghitung harga transaksi rata-rata dari harga saat ini dengan menggunakan indikator VWAP. VWAP mewakili harga rata-rata, yaitu rasio antara jumlah transaksi dan volume transaksi. Indikator VWAP mencerminkan seberapa jauh harga saat ini dan harga transaksi rata-rata historis.

Strategi menggunakan garis rata-rata indikator VWAP dan garis channel bias. Proporsi garis channel bias ditetapkan melalui parameter longlevel1 dan shortlevel1. Ketika harga menembus garis channel bias, buka lebih banyak opsi sesuai dengan persentase posisi di lotsizelong; Ketika harga menembus garis channel bias, buka lebih banyak opsi sesuai dengan persentase posisi di lotsizeshort.

Pengaturan parameter strategi ini mencerminkan ide perdagangan saluran. Pengguna dapat menyesuaikan lebar saluran dan ukuran persentase posisi sesuai dengan preferensi mereka sendiri, sehingga mencapai frekuensi perdagangan yang berbeda.

Analisis Keunggulan

Strategi perdagangan ini memiliki beberapa keuntungan:

  1. Menggunakan indikator VWAP untuk menilai nilai pusat, dapat menangkap arah utama pasar
  2. Transaksi dalam koridor, menghindari gangguan noise, membuat operasi lebih jelas
  3. Operasi kombinasi saluran bertingkat, penyebaran bertahap, mengurangi risiko
  4. Penghentian operasional kembali tepat waktu untuk menghindari kerugian yang disebabkan oleh pembalikan cepat

Karena indikator VWAP dapat mencerminkan tingkat rata-rata harga dengan baik, perdagangan berdasarkan jalurnya dapat secara efektif mengunci pusat nilai dan menghindari bias oleh band fluktuasi jangka pendek. Pada saat yang sama, dengan menggunakan saluran parameter yang berbeda untuk melakukan kombinasi, membangun gudang secara berkelompok, dapat secara efektif mengontrol risiko dan mencegah risiko unilateral untuk memusatkan ledakan. Akhirnya, dengan berhenti tepat waktu kembali ke posisi kosong di dekat garis rata-rata VWAP, dapat mengurangi kerugian yang disebabkan oleh reversal harga.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Indeks VWAP tidak sensitif terhadap perdagangan frekuensi tinggi dan tidak dapat mencerminkan abnormalitas harga ekstrim
  2. Penetapan parameter lebar saluran yang tidak tepat dapat menyebabkan perdagangan yang terlalu radikal
  3. Kembali ke operasi jangkauan posisi kosong jika terlalu luas dapat menyebabkan kerugian kurung

Indikator VWAP tidak sensitif terhadap fluktuasi perdagangan frekuensi tinggi, dan jika terjadi lonjakan harga yang ekstrim atau abnormalitas jangka pendek, sinyal perdagangan yang tidak perlu dan kerugian akan tetap terjadi. Selain itu, jika parameter saluran diatur terlalu longgar, sinyal yang tidak efektif akan terbentuk.

Pengendalian adalah pengaturan parameter penilaian yang masuk akal, penyesuaian parameter saluran yang tepat; sekaligus digabungkan dengan indikator lain untuk menilai abnormalitas harga, menghindari tindak lanjut buta; dan akhirnya mengevaluasi optimasi parameter untuk berbagai tingkat saluran dan ruang lingkup regresi, untuk mencapai efek penghentian yang lebih baik.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Meningkatkan hierarki saluran, mengoptimalkan kombinasi parameter
  2. Efektivitas terobosan digabungkan dengan volume transaksi
  3. Menambahkan strategi stop loss, mengatur stop loss rasio mundur

Anda dapat menambahkan lebih banyak saluran, dan mengoptimalkan parameter kombinasi, untuk mencapai efek perdagangan yang lebih stabil. Selain itu, Anda dapat menambahkan aturan penilaian volume perdagangan, untuk menghindari harga yang tidak efektif melonjak menyebabkan kerugian perdagangan. Akhirnya, Anda juga dapat mengatur aturan stop loss, keluar dari stop loss ketika kerugian memegang posisi mencapai proporsi tertentu, untuk mengontrol risiko secara efektif.

Meringkaskan

Strategi ini menggabungkan indikator VWAP dengan saluran harga, untuk mencapai strategi perdagangan yang relatif stabil. Pengaturan parameter strategi fleksibel, dan pengguna dapat menyesuaikan sesuai dengan preferensi mereka sendiri. Strategi ini dapat secara efektif menentukan arah pusat nilai, melalui kombinasi parameter dan batch building, untuk mencapai efek keuntungan yang stabil. Meskipun ada ruang untuk perbaikan, secara keseluruhan merupakan strategi perdagangan kuantitatif yang sangat praktis.

Kode Sumber Strategi
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "VWAP Bands Backtest", shorttitle = "VWAP Bands Backtest", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
lotsizelong = input(100, defval = 100, minval = 0, maxval = 10000, title = "Lot long, %")
lotsizeshort = input(100, defval = 100, minval = 0, maxval = 10000, title = "Lot short, %")
short1 = input(true, title = "short 1")
long1 = input(true, title = "long 1")
shortlevel1 = input(1.0, title = "Short line 1")
longlevel1 = input(-1.0, title = "Long line 1")
needoffset = input(true, title = "Offset")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
truetime = true

//VWAP
ma = vwap(hlc3)

//Levels
longline1 = long1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
shortline1 = short1? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close


//Lines
colorlong1 = long1 ? color.lime : na
colorshort1 = short1 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline1, offset = offset, color = colorshort1, title = "Short line 1")
plot(ma, offset = offset, color = color.blue, title = "MA line")
plot(longline1, offset = offset, color = colorlong1, title = "Long line 1")


//Trading
lotlong = 0.0
lotshort = 0.0
lotlong := size == 0 ? (strategy.equity / close) * (lotsizelong / 100) : lotlong[1]
lotshort := size == 0 ? (strategy.equity / close) * (lotsizeshort / 100) : lotshort[1]


if ma > 0
    if lotlong > 0
        lotslong = 0.0
        lotslong := strategy.position_size > 0 ? round(strategy.position_size / lotlong) : 0.0
        strategy.entry("L1", strategy.long, lotlong, limit = longline1, when = (lotslong == 0 and long1 and truetime))
    if lotshort > 0
        lotsshort = 0.0
        lotsshort := strategy.position_size < 0 ? round(strategy.position_size / lotshort) : 0.0
        strategy.entry("S1", strategy.short, lotshort, limit = shortline1, when = (lotsshort == 0 and short1 and truetime))
if strategy.position_size > 0
    strategy.exit("TPL", "L1", limit = ma)
if strategy.position_size < 0
    strategy.exit("TPS", "S1", limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("L1")
    strategy.cancel("S1")
    strategy.cancel("TPL")
    strategy.cancel("TPS")