Backtest Strategi Perdagangan Penembusan Saluran

Penulis:ChaoZhang, Tarikh: 2023-09-20 17:02:40
Tag:

Ringkasan

Strategi ini membina saluran panjang dan pendek, menguji balik saluran secara sistematik.

Logika Strategi

  1. Membina saluran panjang dengan harga tertinggi dalam tempoh, dan saluran pendek dengan harga terendah.

  2. Beli apabila harga melangkau di atas garis saluran atas.

  3. Jual apabila harga pecah di bawah garis saluran bawah.

  4. Boleh menetapkan julat tarikh backtest untuk mengesahkan strategi.

  5. Peraturan yang mudah dan jelas perdagangan saluran breakouts.

Kelebihan

  1. Saluran secara visual menentukan julat harga.

  2. Kemungkinan tinggi momentum menaik selepas pecah.

  3. Ujian belakang mengesahkan keberkesanan strategi secara sejarah.

  4. Konsep saluran pecah mudah dan intuitif.

  5. Kod ringkas mudah diubahsuai dan dioptimumkan.

Risiko

  1. Risiko pelarian palsu dan penarikan balik selepas pelarian awal.

  2. Tiada cara yang berkesan untuk menetapkan berhenti dan keluar.

  3. Parameter saluran yang tidak betul menjejaskan prestasi.

  4. Hasil ujian belakang mungkin mempunyai kecenderungan untuk melihat ke hadapan.

  5. Prestasi dagangan sebenar mungkin berbeza dengan backtest.

Peningkatan

  1. Uji parameter untuk mencari kombinasi yang optimum.

  2. Tambah faktor lain untuk menapis pelarian palsu.

  3. Membina mekanisme stop loss dan mengambil keuntungan.

  4. Mengurus data backtest dengan betul untuk menghapuskan bias.

  5. Memeriksa strategi di pelbagai keadaan pasaran melalui backtest.

  6. Perdagangan kertas untuk mengkonfigurasi parameter untuk perdagangan langsung.

Kesimpulan

Strategi ini menguji semula peraturan pecah saluran yang mudah, mudah dikendalikan tetapi memerlukan penyempurnaan untuk kestabilan. Penambahbaikan lanjut seperti penyesuaian parameter dan kawalan risiko dapat menjadikannya sistem pecah yang boleh dipercayai.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-08-30 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//strategy(title = "Backtest Donchian Teixeira", default_qty_type = strategy.fixed, default_qty_value = 100, overlay = true, commission_type = strategy.commission.cash_per_order, commission_value = 2.50, precision = 2, calc_on_every_tick = true, pyramiding = 0, initial_capital = 10000)

testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00)

testEndYear = input(2018, "Backtest End Year")
testEndMonth = input(12, "Backtest End Month")
testEndDay = input(1, "Backtest End Day")
testPeriodEnd = timestamp(testStartYear, testStartMonth, testStartDay, 23, 59)

window()  => true //nao funciona

length1 = input(20, minval=1, title="Upper Channel")
length2 = input(20, minval=1, title="Lower Channel")

dcUpper = highest(length1)
dcLower = lowest(length2)

plot(dcLower, style=line, linewidth=1, color=red, offset=1)
plot(dcUpper, style=line, linewidth=1, color=lime, offset=1)
plot(dcLower, style=line, linewidth=1, color=gray)

if (strategy.position_size == 0)
    strategy.entry("COMPRA", true, stop = dcUpper)
    
if (strategy.position_size > 0)
    strategy.exit("VENDA", stop = dcLower)

Lebih lanjut