Sumber dimuat naik... memuat...

Strategi Dagangan Pecah Donchian

Penulis:ChaoZhang, Tarikh: 2024-04-29 14:56:35
Tag:

img

Ringkasan

Strategi Perdagangan Penembusan Donchian adalah sistem perdagangan berdasarkan penunjuk Saluran Donchian. Idea utama strategi ini adalah untuk menangkap trend pasaran dengan menembusi jalur atas dan bawah Saluran Donchian, dan menggunakan nisbah Ganjaran Risiko (RR) tetap untuk mengambil keuntungan dan menghentikan kerugian. Apabila harga memecahkan di atas jalur atas Saluran Donchian dan mewujudkan tahap tinggi baru berbanding tempoh Saluran Donchian, ia menjadi panjang; apabila ia memecahkan di bawah jalur bawah dan mewujudkan tahap rendah baru, ia menjadi pendek. Pada masa yang sama, stop loss ditetapkan di jalur tengah Saluran Donchian, dan mengambil keuntungan dikira berdasarkan nisbah Ganjaran Risiko yang ditetapkan.

Prinsip Strategi

  1. Mengira Saluran Donchian: Berdasarkan tempoh Saluran Donchian yang ditetapkan (default 20), mengira harga tertinggi dan terendah dalam tempoh itu sebagai jalur atas dan bawah Saluran Donchian masing-masing, dan mengira titik tengah jalur atas dan bawah sebagai jalur tengah Saluran Donchian.
  2. Menentukan sama ada tinggi/rendah baru dicipta: Dengan menghidupkan dan membandingkan jalur atas dan bawah Saluran Donchian semasa dengan jalur atas dan bawah beberapa tempoh sebelumnya, tentukan sama ada tinggi atau rendah baru yang berkaitan dengan tempoh Saluran Donchian dicipta.
  3. Pendaftaran pecah: Apabila harga penutupan memecahkan di atas jalur atas Donchian biru, ia memasuki kedudukan panjang; apabila ia memecahkan di bawah jalur bawah Donchian biru, ia memasuki kedudukan pendek.
  4. Ambil keuntungan dan hentikan kerugian: Apabila membuka kedudukan, catat harga masuk dan harga jalur tengah Saluran Donchian semasa, dan hitung perbezaan harga antara keduanya. Hentikan kerugian ditetapkan pada jalur tengah Saluran Donchian, dan mengambil keuntungan dikira berdasarkan Nisbah Ganjaran Risiko yang ditetapkan (default 5 kali) dan perbezaan harga.
  5. Posisi tertutup: Apabila harga mencapai harga mengambil keuntungan atau harga hentian kerugian, kedudukan ditutup.

Kelebihan Strategi

  1. Sesuai untuk pasaran trend: Strategi Breakout Donchian memasuki kedudukan dengan menembusi jalur atas/bawah, mengikut arah trend pasaran, dan berprestasi baik di pasaran trend.
  2. Penapisan tinggi / rendah baru: Strategi menapis beberapa isyarat bunyi bising dan pecah palsu dengan menentukan sama ada tinggi / rendah baru dicipta dalam tempoh Saluran Donchian, meningkatkan kualiti isyarat masuk.
  3. Nisbah Ganjaran Risiko Tetap: Posisi mengambil keuntungan dan berhenti kerugian untuk setiap perdagangan adalah berdasarkan nisbah Ganjaran Risiko tetap, menjadikan risiko terkawal dan kondusif untuk pengurusan wang.
  4. Parameter mudah: Parameter strategi agak mudah ditetapkan, terutamanya tempoh Saluran Donchian dan Nisbah Ganjaran Risiko, menjadikan pengoptimuman dan kawalan lebih mudah.

Risiko Strategi

  1. Peningkatan kerugian: Kedudukan stop loss strategi adalah jalur tengah Saluran Donchian. Dalam trend yang tidak jelas atau pasaran turun naik, mungkin terdapat situasi di mana satu transaksi mengalami kerugian besar.
  2. Perdagangan kerap: Jika tempoh Saluran Donchian ditetapkan terlalu pendek, ia boleh menyebabkan pembukaan dan penutupan kedudukan yang kerap, meningkatkan kos transaksi.
  3. Pembalikan trend: Semasa pembalikan trend, strategi mungkin mengalami beberapa kerugian berhenti berturut-turut.
  4. Sensitiviti parameter: Prestasi strategi sensitif kepada tetapan parameter dan perlu dioptimumkan berdasarkan ciri pasaran dan kitaran perdagangan yang berbeza.

Arahan Pengoptimuman Strategi

  1. Stop loss dinamik: Sesuaikan kedudukan stop loss dalam masa nyata berdasarkan pergerakan harga, turun naik, dan lain-lain, seperti menggunakan ATR sebagai rujukan stop loss untuk mengurangkan risiko transaksi tunggal.
  2. Penapisan trend: Tambah penunjuk penilaian trend seperti purata bergerak dan hanya buka kedudukan apabila arah trend jelas untuk meningkatkan kualiti isyarat.
  3. Gabungkan dengan penunjuk lain: Gabungkan dengan penunjuk momentum seperti RSI dan MACD untuk menilai secara komprehensif masa kedudukan pembukaan.
  4. Pengurusan kedudukan: Sesuaikan saiz kedudukan secara dinamik berdasarkan kekuatan trend pasaran, turun naik, dll, untuk mengawal risiko keseluruhan.
  5. Penyesuaian parameter: Gunakan pembelajaran mesin dan kaedah lain untuk mengoptimumkan tetapan parameter secara adaptif.

Ringkasan

Strategi Perdagangan Penembusan Donchian adalah sistem perdagangan mengikut trend berdasarkan penunjuk Saluran Donchian klasik. Ia membuka kedudukan melalui penembusan jalur atas dan bawah Saluran Donchian dan penghakiman tinggi / rendah baru, dengan mengambil keuntungan dan menghentikan kerugian berdasarkan nisbah ganjaran risiko tetap. Strategi ini mempunyai logika yang mudah dan sesuai untuk pasaran yang sedang berkembang. Walau bagaimanapun, ia berprestasi buruk di pasaran yang berfluktuasi dan sensitif terhadap tetapan parameter. Ia boleh dioptimumkan lebih lanjut melalui pengenalan kerugian berhenti dinamik, penapisan trend, pengurusan kedudukan, dan lain-lain, untuk meningkatkan kekuatan 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)
//---------------------------------------------//

Lebih lanjut