Backtest Channel Breakout Trading Strategy (Strategi Perdagangan Penembusan Saluran)

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

Gambaran umum

Strategi ini membangun saluran panjang dan pendek, backtesting channel breakout secara sistematis.

Logika Strategi

  1. Membangun saluran panjang dengan harga tertinggi selama periode, dan saluran pendek dengan harga terendah.

  2. Beli saat harga menembus garis saluran atas.

  3. Jual saat harga menembus garis saluran bawah.

  4. Dapat mengatur backtest rentang tanggal untuk memverifikasi strategi.

  5. Aturan sederhana dan jelas perdagangan saluran breakouts.

Keuntungan

  1. Saluran secara visual mendefinisikan kisaran harga.

  2. Kemungkinan tinggi momentum naik setelah breakouts.

  3. Backtesting memverifikasi efektivitas strategi secara historis.

  4. Konsep penyebaran saluran sederhana dan intuitif.

  5. Kode yang ringkas mudah dimodifikasi dan dioptimalkan.

Risiko

  1. Risiko terjadinya kebocoran palsu dan penarikan kembali setelah kebocoran awal.

  2. Tidak ada cara yang efektif untuk mengatur berhenti dan keluar.

  3. Parameter saluran yang tidak benar mempengaruhi kinerja secara negatif.

  4. Hasil backtest mungkin memiliki bias melihat ke depan.

  5. Kinerja perdagangan nyata dapat sangat berbeda dari backtest.

Peningkatan

  1. Uji parameter untuk menemukan kombinasi optimal.

  2. Tambahkan faktor lain untuk menyaring kebocoran palsu.

  3. Membangun stop loss dan mengambil keuntungan mekanisme.

  4. Berurusan dengan data backtest dengan benar untuk menghilangkan bias.

  5. Memverifikasi strategi di berbagai kondisi pasar melalui backtest.

  6. Perdagangan kertas untuk mengkonfigurasi parameter untuk perdagangan langsung.

Kesimpulan

Strategi ini menguji kembali aturan penyusutan saluran yang sederhana, mudah dioperasikan tetapi membutuhkan penyempurnaan untuk stabilitas.


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