Strategi Penembusan Saluran Donchian

Penulis:ChaoZhang, Tanggal: 2023-12-04 14:16:33
Tag:

img

Gambaran umum

Strategi Breakout Saluran Donchian adalah aksi harga dan tren mengikuti strategi perdagangan breakout.

Logika Strategi

Logika inti dari strategi ini adalah:

  1. Gunakan fungsi Ta.highest dan Ta.lowest untuk menghitung tertinggi tertinggi dan terendah terendah selama periode tertentu (misalnya 60 bar) untuk membangun pita atas dan bawah Saluran Donchian.

  2. Ketika harga pecah di atas band atas, itu menunjukkan bahwa tren naik mungkin dimulai, jadi pergi panjang di bar berikutnya yang terbuka setelah pecah band atas.

  3. Setelah harga jatuh kembali di bawah band atas atau naik kembali di atas band bawah, itu menunjukkan pembalikan tren, jadi rata posisi panjang atau pendek yang ada.

  4. Untuk mengendalikan risiko, atur stop loss pada harga masuk minus/plus satu tick minimum setelah memulai posisi panjang/pendek.

Strategi penembusan saluran semacam ini sederhana dan langsung, dengan mempertimbangkan aksi harga dan tren yang mengikuti, mudah dilaksanakan dan stabil.

Keuntungan

Strategi ini memiliki beberapa keuntungan:

  1. Logikanya jelas, sederhana dan mudah dimengerti, dengan kinerja yang tinggi.

  2. Menggunakan Saluran Donchian untuk menentukan arah tren dapat secara efektif menyaring kebisingan dan mengidentifikasi sinyal pecah yang dapat diandalkan.

  3. Pengaturan stop loss yang wajar setelah masuk dapat mengendalikan kerugian perdagangan tunggal.

  4. Tidak peduli kondisi pasar, strategi dapat berdagang bersama dengan tren setelah terobosan yang valid terjadi dan menangkap gerakan besar potensial.

  5. Sangat sedikit parameter, tidak rentan terhadap overfit, dengan ruang penyesuaian yang besar dan plastisitas yang tinggi.

Risiko

Ada juga beberapa risiko dengan strategi ini:

  1. Sebagai tren mengikuti strategi, itu tidak bisa menangkap gerakan pembalikan.

  2. Stop loss yang terlalu dekat dapat dihentikan oleh perubahan harga jangka pendek.

  3. Pengaturan panjang saluran yang salah meningkatkan kemungkinan terjadinya kebocoran palsu.

Beberapa tindakan balas:

  1. Sertakan indikator lain untuk mengidentifikasi potensi pembalikan, hindari mengikuti tren secara membabi buta.

  2. Gunakan stop trailing yang masuk akal untuk mengunci keuntungan alih-alih berpegang pada stop loss awal.

  3. Uji nilai parameter yang berbeda untuk menemukan kombinasi optimal.

Arahan Optimasi

Ada ruang untuk optimasi lebih lanjut:

  1. Cobalah double Donchian channel breakout strategy, satu untuk entry dan satu untuk stop loss/profit taking.

  2. Hanya mengambil perdagangan setelah breakout melebihi jumlah tertentu dari kutu untuk menyaring beberapa false break.

  3. Tambahkan volume atau volatilitas filter untuk menghindari perdagangan yang buruk ketika harga bergeser dengan keras.

  4. Cobalah strategi holding yang berbeda seperti mengikuti tren atau reversi rata-rata dalam kombinasi untuk hasil yang lebih baik.

  5. Tambahkan modul manajemen risiko untuk membatasi kerugian harian maksimum, penarikan maksimum, dll.

Kesimpulan

Singkatnya, Strategi Breakout Saluran Donchian adalah strategi tren jangka pendek yang sangat praktis. Strategi ini mengidentifikasi perubahan tren potensial melalui aksi harga, dan memanfaatkan breakout saluran untuk memasuki perdagangan. Logika ini sederhana dan mudah dilaksanakan, dan dapat mencapai hasil yang layak di berbagai pasar. Dengan optimasi lebih lanjut seperti penyesuaian parameter, mekanisme stop loss, identifikasi pembalikan, dll, peningkatan kinerja yang signifikan dapat diharapkan. Ini berfungsi sebagai strategi titik awal yang bagus untuk perdagangan algo.


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

//@version=5
// Step 1. Define strategy settings
strategy(title="Price action and breakout Channel Forexrn", overlay=true,
     pyramiding=0, initial_capital=100000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

dochLen = input.int(60, title="Price action and breackout Channel Forexrn")

// Position sizing inputs
usePosSize    = input.bool(true, title="Use Position Sizing?")
atrLen        = input.int(10, title="ATR Length")
atrRiskOffset = input.float(4, title="ATR Risk Offset Multiple", step=0.25)

maxRisk = input.float(2, title="Max Position Risk %", step=.25, 
     minval=0.25, maxval=15)
maxExposure = input.float(10, title="Max Position Exposure %", step=1, 
     minval=1, maxval=100)
marginPerc = input.int(10, title="Margin %", minval=1, maxval=100)

// Step 2. Calculate strategy values
upperband = ta.highest(high, dochLen)[1]
lowerband = ta.lowest(low, dochLen)[1]

// Calculate position size
riskEquity = (maxRisk * 0.01) * strategy.equity
riskTrade  = (ta.atr(atrLen) * atrRiskOffset) * syminfo.pointvalue

maxPos = ((maxExposure * 0.01) * strategy.equity) /
     ((marginPerc * 0.01) * (close * syminfo.pointvalue))

posSize = usePosSize ? math.min(math.floor(riskEquity / riskTrade), maxPos) : 1

// Step 3. Output strategy data
plot(upperband, color=color.green, linewidth=2, title="DoCh Upperband")
plot(lowerband, color=color.red, linewidth=2, title="DoCh Lowerband")

// Step 4. Determine trading conditions
tradeWindow  = true

tradeAllowed = tradeWindow and bar_index > dochLen

// Step 5. Submit entry orders
if tradeAllowed
    if strategy.position_size < 1
        strategy.entry("EL", strategy.long, qty=posSize,
             stop=upperband + syminfo.mintick)

    if strategy.position_size > -1
        strategy.entry("ES", strategy.short, qty=posSize,
             stop=lowerband - syminfo.mintick)

// Step 6. Submit exit orders
if not tradeWindow
    strategy.close_all()

Lebih banyak