Strategi Terobosan Saluran Donchian


Tanggal Pembuatan: 2023-12-04 14:16:33 Akhirnya memodifikasi: 2023-12-04 14:16:33
menyalin: 0 Jumlah klik: 641
1
fokus pada
1619
Pengikut

Strategi Terobosan Saluran Donchian

Ringkasan

Strategi penembusan saluran tangki adalah strategi perdagangan yang didasarkan pada perilaku dan tren harga. Strategi ini menggunakan saluran tangki untuk mengidentifikasi titik penembusan potensial dan membuka posisi overhead atau kosong saat harga menembus saluran.

Prinsip Strategi

Logika inti dari strategi ini adalah:

  1. Menggunakan fungsi Ta.highest dan Ta.lowest untuk menghitung harga tertinggi dan terendah untuk periode tertentu (seperti 60 garis K), untuk membangun rel atas dan bawah dari saluran Dongxian.

  2. Ketika harga menerobos ke atas, dianggap bahwa pasar mungkin memasuki tren multihead, jadi lakukan lebih banyak saat pasar melewati garis K berikutnya; ketika harga menerobos ke bawah, dianggap bahwa pasar mungkin memasuki tren kosong, jadi lakukan kosong saat pasar melewati garis K berikutnya.

  3. Jika harga kembali turun ke atas atau turun ke bawah, maka akan terjadi pergeseran tren, yang akan menebus posisi overhead atau kosong saat ini.

  4. Untuk mengendalikan risiko, stop loss setelah melakukan shorting tambahan ditetapkan sebagai harga pembukaan posisi dikurangi atau ditambah dengan harga lompatan minimal.

Strategi ini didasarkan pada terobosan saluran yang sederhana dan langsung, yang mempertimbangkan perilaku harga dan menggabungkan karakteristik tren, mudah dioperasikan dan stabil.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan:

  1. Strategi logis jelas dan ringkas, mudah dipahami dan diterapkan, dan praktis.

  2. Menggunakan saluran Tongxian untuk menentukan arah tren, dapat secara efektif memfilter kebisingan dan mengidentifikasi sinyal terobosan yang dapat diandalkan.

  3. Pengaturan stop loss setelah melakukan lebih banyak shorting masuk akal, dan dapat mengontrol kerugian individu dengan baik.

  4. Strategi ini dapat digunakan untuk menangkap tren potensial, terlepas dari apa yang terjadi di pasar, selama harga berhasil menerobos.

  5. Parameter strategi lebih sedikit, tidak mudah dipasangkan, parameter optimasi ruang besar, plastisitas yang kuat.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Strategi mengikuti tren, tidak bisa menangkap perubahan tren.

  2. Stop loss yang terlalu dekat dengan titik ini dapat dihentikan oleh pergerakan garis pendek harga.

  3. Penetapan yang tidak tepat akan meningkatkan probabilitas penembusan palsu.

Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat diambil:

  1. Mengidentifikasi sinyal-sinyal yang berpotensi terbalik dan menghindari follow-up paksa.

  2. Tetapkan Stop Loss yang wajar untuk mengunci keuntungan, bukan Stop Loss awal.

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

Arah optimasi

Strategi ini juga memiliki ruang untuk optimalisasi lebih lanjut:

  1. Cobalah strategi penembusan dua saluran, satu saluran digunakan untuk menentukan titik masuk dan saluran lainnya digunakan untuk menentukan titik berhenti atau stop loss.

  2. Setelah ada ticks pada saluran penembusan harga, kita akan membuka posisi untuk menyaring beberapa penembusan palsu.

  3. Tambahkan filter volume transaksi atau volatilitas indikator untuk menghindari kesalahan transaksi saat harga berfluktuasi tajam.

  4. Cobalah strategi pegangan yang berbeda, seperti strategi trendfollowing atau strategi reversal, dengan kombinasi yang lebih baik.

  5. Tambahkan modul manajemen risiko, kendalikan kerugian maksimum dalam satu hari, penarikan maksimum, dan sebagainya.

Meringkaskan

Strategi penembusan saluran Dongguan secara keseluruhan adalah strategi mengikuti tren jangka pendek yang sangat praktis. Ini menilai perilaku harga, mengidentifikasi perubahan tren potensial, dan menggunakan penembusan saluran untuk membuka posisi. Logika strategi sederhana, mudah dioperasikan, dan dapat menghasilkan hasil yang baik di berbagai pasar.

Kode Sumber Strategi
/*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()