Donchian Breakout Strategi Perdagangan


Tarikh penciptaan: 2024-04-29 14:56:35 Akhirnya diubah suai: 2024-04-29 14:56:35
Salin: 0 Bilangan klik: 701
1
fokus pada
1617
Pengikut

Donchian Breakout Strategi Perdagangan

Gambaran keseluruhan

Strategi perdagangan penembusan Donchian adalah sistem perdagangan berdasarkan petunjuk saluran Donchian. Gagasan utama strategi ini adalah untuk menangkap trend pasaran melalui penembusan saluran Donchian ke atas dan ke bawah, dan menggunakan stop loss dengan nisbah keuntungan risiko tetap (RR). Apabila harga menembusi saluran Donchian ke atas dan membuat ketinggian baru berbanding dengan kitaran saluran Donchian, ia membuka lebih banyak, dan apabila ia menembusi saluran bawah dan membuat rendah baru, ia membuka lebih banyak.

Prinsip Strategi

  1. Hitung Saluran Donchian: Berdasarkan kitaran Saluran Donchian yang ditetapkan ((default 20)), kira harga tertinggi dan terendah dalam kitaran itu, sebagai lintasan atas dan bawah Saluran Donchian, dan kira titik tengah lintasan atas dan bawah sebagai lintasan tengah Saluran Donchian.
  2. Menentukan sama ada penciptaan tinggi / rendah baru: Dengan membandingkan secara bergilir-gilir lintasan atas dan bawah saluran Donchian semasa dengan lintasan atas dan bawah beberapa kitaran sebelumnya, untuk menentukan sama ada yang terkini telah mencipta tinggi atau rendah baru untuk kitaran saluran Donchian. Jika penciptaan tinggi baru, lintasan atas Donchian ditunjukkan dengan warna biru; jika penciptaan rendah baru, lintasan bawah Donchian ditunjukkan dengan warna biru.
  3. Penembusan kedudukan terbuka: Apabila harga menutup kedudukan terbuka apabila harga menembusi Donchian biru atas, membuka kedudukan terbuka apabila penembusan Donchian biru bawah. Iaitu, penembusan hanya akan berlaku selepas mencipta tinggi baru / rendah baru.
  4. Hentikan Hentikan: Rekodkan harga pembukaan dan harga semasa di tengah-tengah saluran Donchian semasa membuka kedudukan, dan kira perbezaan harga antara keduanya. Posisi hentikan diletakkan di tengah-tengah saluran Donchian, kedudukan hentikan berdasarkan nisbah keuntungan risiko yang ditetapkan ((default 5x) dan perbezaan harga dikira.
  5. Kedudukan terhad: Kedudukan terhad apabila harga menyentuh harga terhad atau terhad.

Kelebihan Strategik

  1. Pas untuk pasaran trend: Strategi penembusan Donchian melakukan perdagangan mengikut arah trend pasaran dengan membuka kedudukan melalui penembusan atas / bawah. Ia berfungsi dengan baik dalam keadaan trend.
  2. Penapisan tinggi baru / rendah baru: Strategi untuk menapis sebahagian daripada isyarat bunyi bising dan penembusan palsu, meningkatkan kualiti isyarat pembukaan simpanan dengan menilai sama ada ciptaan saluran Donchian adalah tinggi / rendah baru.
  3. Nisbah ganjaran risiko tetap: Kedudukan berhenti dan kehilangan setiap perdagangan berdasarkan nisbah ganjaran risiko tetap, risiko boleh dikawal, yang membantu pengurusan wang.
  4. Parameter mudah: tetapan parameter strategi lebih mudah, terutamanya untuk kitaran saluran Donchian dan nisbah ganjaran risiko, pengoptimuman dan kawalan lebih mudah.

Risiko Strategik

  1. Kerugian Marginal: Stop loss strategi terletak di tengah-tengah saluran Donchian, di mana kerugian besar dalam satu perdagangan mungkin berlaku dalam keadaan trend yang tidak jelas atau goyah.
  2. Perniagaan yang kerap: Jika Donchian channel mempunyai kitaran yang lebih kecil, ia boleh menyebabkan pembukaan kedudukan yang kerap dan meningkatkan kos transaksi.
  3. Trend reversal: Dalam tempoh trend reversal, strategi mungkin berlaku beberapa kali berhenti kerugian berturut-turut.
  4. Sensitiviti parameter: Prestasi strategi lebih sensitif kepada tetapan parameter, yang memerlukan pengoptimuman parameter mengikut ciri-ciri pasaran dan kitaran pasaran yang berbeza.

Arah pengoptimuman strategi

  1. Hentian dinamik: menyesuaikan kedudukan hentian secara langsung mengikut pergerakan harga, turun naik, dan lain-lain, seperti menggunakan ATR sebagai rujukan hentian, untuk mengurangkan risiko perdagangan tunggal.
  2. Penapisan trend: Tambah indikator penilaian trend seperti purata bergerak, hanya membuka kedudukan apabila arah trend jelas, meningkatkan kualiti isyarat.
  3. Gabungan dengan penunjuk lain: seperti gabungan RSI, MACD dan lain-lain penunjuk momentum, penilaian komprehensif masa untuk membuka kedudukan.
  4. Pengurusan kedudukan: menyesuaikan saiz kedudukan mengikut kekuatan trend pasaran, kadar turun naik dan sebagainya, mengawal risiko keseluruhan.
  5. Penyesuaian parameter: Menggunakan kaedah pembelajaran mesin dan lain-lain untuk menyesuaikan dan mengoptimumkan tetapan parameter

ringkaskan

Strategi perdagangan Donchian Breakout adalah sistem perdagangan trend-tracking berdasarkan petunjuk saluran Donchian klasik. Ia membuka kedudukan dengan penembusan saluran Donchian ke atas dan ke bawah dan penilaian tinggi baru / rendah baru, dan menghentikan kerugian berdasarkan nisbah keuntungan risiko tetap. Strategi ini logiknya sederhana dan sesuai untuk pasaran yang sedang tren.

Kod sumber strategi
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//---------------------------------------------//
// This source code is subject to the terms of 
// the Mozilla Public License 2.0 at 
// https://mozilla.org/MPL/2.0/
// © Dillon_Grech
//---------------------------------------------//

//---------------------------------------------//
// Simple donchian channel break out strategy
// which only enters trades when price closes
// above donchian upper and creates new high 
// (long) or price closes below donchian lower
// and creates new low, relative to the donchian
// length. This is indicated by the donchian
// upper and lower color (blue). Stop loss is
// located at donchian basis and take profit
// is set at Risk Reward (RR) profit target.
//---------------------------------------------//
//@version=5
strategy("Donchian New High/Low Strategy [Dillon Grech]", overlay=true)

//---------------------------------------------//

//---------------------------------------------//
//INDICATOR 1 - Donchian New High Low Price Close
don_length = input.int(20, minval = 1)
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)

//loop
don_lower_upper  = true
don_higher_lower = true
for i = 0 to don_length - 1
    //Check for higher high over don_length
    if don_upper > don_upper[i]
        don_lower_upper := false
    //Check for lower low over don_length
    if don_lower < don_lower[i]
        don_higher_lower := false

//Plot
c_ora = color.orange
c_blu = color.blue
c_gra = color.gray
color_basis = c_ora
color_upper = don_lower_upper  ? c_blu : c_gra
color_lower = don_higher_lower ? c_blu : c_gra
plot(don_basis,     "Don Basis", color_basis, 2)
u = plot(don_upper, "Don Upper", color_upper, 2)
l = plot(don_lower, "Don Lower", color_lower, 2)

//Conditions
Ind_1_L = ta.crossover(close, don_upper[1]) and 
   don_lower_upper[1]
Ind_1_S = ta.crossunder(close,don_lower[1]) and 
   don_higher_lower[1]
//---------------------------------------------//

//---------------------------------------------//
//ENTRY CONDITIONS
entry_long  = strategy.position_size<=0 and
   Ind_1_L
entry_short = strategy.position_size>=0 and
   Ind_1_S

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)
//---------------------------------------------/

//---------------------------------------------//
//TAKE PROFIT AND STOP LOSS CONDITIONS
profit_RR = input.float(5.0,"RR Profit Target")

//Store Price on new entry signal
entry_price = strategy.opentrades.entry_price(
   strategy.opentrades-1)

//Store Donchain Channel Basis
entry_don_basis = float(0.0)
if entry_long or entry_short
    entry_don_basis := don_basis
else
    entry_don_basis := entry_don_basis[1]

//Get stop loss distance
stop_distance = math.abs(entry_price -
   entry_don_basis)
stop_L   = entry_price - stop_distance
profit_L = entry_price + stop_distance*profit_RR
stop_S   = entry_price + stop_distance
profit_S = entry_price - stop_distance*profit_RR

//Plot TP and SL
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? profit_L : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size > 0 ? stop_L : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na : 
   strategy.position_size < 0 ? profit_S : na,
   color=color.lime, style=plot.style_linebr,
   linewidth=2)
plot(entry_long or entry_short ? na :
   strategy.position_size < 0 ? stop_S : na,
   color=color.red,  style=plot.style_linebr,
   linewidth=2)

//Exit long trades
strategy.exit(id = 'Exit Long', 
   from_entry ='Long Entry', 
   stop = stop_L, limit = profit_L)
strategy.exit(id = 'Exit Short', 
   from_entry ='Short Entry', 
   stop = stop_S, limit = profit_S)
//---------------------------------------------//