Strategi Mengikuti Tren Penembusan Saluran Donchian


Tanggal Pembuatan: 2024-01-29 11:51:08 Akhirnya memodifikasi: 2024-01-29 11:51:08
menyalin: 0 Jumlah klik: 718
1
fokus pada
1617
Pengikut

Strategi Mengikuti Tren Penembusan Saluran Donchian

Ringkasan

Strategi penembusan saluran Dongguan adalah strategi pelacakan tren yang membentuk saluran harga dengan menghitung harga tertinggi dan terendah dalam jangka waktu tertentu, dan menggunakan batas saluran sebagai sinyal beli dan jual. Ketika harga menerobos tren, buat kosong; ketika harga menerobos tren, buat lebih banyak.

Prinsip Strategi

Strategi ini menggunakan indikator saluran Tongxian untuk menilai tren harga dan menghitung titik keluar masuk. Saluran Tongxian terdiri dari lintasan atas, lintasan bawah, dan lintasan tengah. Lintasan atas adalah harga tertinggi, lintasan bawah adalah harga terendah, dan lintasan tengah adalah harga rata-rata dalam periode tertentu.

Panjang siklus masuk dan keluar dapat dikonfigurasi secara independen. Ketika harga naik, masuk lebih banyak; Ketika harga turun, masuk lebih banyak.

Selain itu, dalam strategi juga diatur titik berhenti. Untuk melakukan lebih banyak posisi, stop loss adalah rasio antara harga masuk ((1 + stop loss), sedangkan untuk posisi short position sebaliknya. Mengaktifkan fitur ini dapat mengunci keuntungan dan menghindari perluasan kerugian.

Secara keseluruhan, strategi ini menilai tren dan memastikan bahwa ada cukup ruang untuk mengatur stop loss dan stop loss. Ini membuatnya sangat cocok untuk varietas dengan volatilitas tinggi seperti mata uang digital.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Strategi penilaian yang jelas, sinyal yang dihasilkan sederhana dan dapat diandalkan.
  2. Indeks Dongxian Channel tidak sensitif terhadap pergerakan harga, sehingga lebih baik untuk menangkap tren.
  3. Parameter saluran dapat disesuaikan untuk berbagai varietas dan periode waktu.
  4. Built-in stop-loss braking, dapat mengontrol risiko secara efektif.
  5. Untuk varietas yang sangat fluktuatif seperti mata uang digital, potensi penghasilannya sangat besar.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Meskipun memiliki fungsi stop loss, namun tidak dapat sepenuhnya menghindari risiko besar.
  2. Penetapan parameter yang tidak tepat dapat menyebabkan terlalu banyak transaksi, meningkatkan biaya transaksi dan risiko slippage.
  3. Strategi ini tidak sensitif terhadap pergerakan harga dan mungkin akan melewatkan beberapa peluang perdagangan.

Untuk mengendalikan risiko tersebut, disarankan untuk mengambil langkah-langkah berikut:

  1. Mengurangi modal investasi, diversifikasi jenis investasi, dan pengendalian risiko secara keseluruhan.
  2. Optimalkan parameter, cari kombinasi parameter yang optimal. Anda dapat mencoba mengoptimalkan secara otomatis dengan metode pembelajaran mesin.
  3. Ini adalah indikator tambahan untuk menilai keandalan sinyal terobosan dan menghindari kesalahan transaksi.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dari dimensi-dimensi berikut:

  1. Uji dan optimalkan kombinasi parameter yang lebih banyak untuk mencari parameter yang optimal. Parameter utama termasuk siklus saluran, rasio stop, apakah lebih banyak ruang kosong diizinkan, dan sebagainya.
  2. Menambahkan model pembelajaran mesin untuk mengidentifikasi parameter optimal secara otomatis. Metode seperti pembelajaran intensif dapat digunakan.
  3. Ini dikombinasikan dengan indikator lain untuk menilai tren dan keandalan sinyal, seperti garis rata-rata, volume transaksi, dll.
  4. Mengembangkan strategi stop loss, seperti Tracking Stop Loss, Chandelier Exit, dan lain-lain, untuk mengontrol risiko lebih lanjut.
  5. Berkembang ke lebih banyak varietas, mencari varietas perdagangan yang paling sesuai dengan strategi tersebut.

Meringkaskan

Secara keseluruhan, strategi penembusan saluran Dongguan adalah strategi pelacakan tren dengan penilaian yang jelas dan risiko yang dapat dikendalikan. Ini sangat cocok untuk varietas yang sangat fluktuatif seperti mata uang digital dengan potensi pendapatan yang tinggi.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
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/
// © algotradingcc
// Strategy testing and optimisation for free trading bot 

//@version=4
strategy("Donchian Channel Strategy [for free bot]", overlay=true )

//Long optopns
buyPeriodEnter = input(10, "Channel Period for Long enter position")
buyPeriodExit = input(10, "Channel Period for Long exit position")
isMiddleBuy = input(true, "Is exit on Base Line? If 'no' - exit on bottom line")
takeProfitBuy = input(2.5, "Take Profit (%) for Long position")
isBuy = input(true, "Allow Long?")

//Short Options
sellPeriodEnter = input(20, "Channel Period for Short enter position")
sellPeriodExit = input(20, "Channel Period for Short exit position")
isMiddleSell = input(true, "Is exit on Base Line? If 'no' - exit on upper line")
takeProfitSell = input(2.5, "Take Profit (%) for Short position")
isSell = input(true, "Allow Short?")

// Test Start
startYear = input(2005, "Test Start Year")
startMonth = input(1, "Test Start Month")
startDay = input(1, "Test Start Day")
startTest = timestamp(startYear,startMonth,startDay,0,0)

//Test End
endYear = input(2050, "Test End Year")
endMonth = input(12, "Test End Month")
endDay = input(30, "Test End Day")
endTest = timestamp(endYear,endMonth,endDay,23,59)

timeRange = time > startTest and time < endTest ? true : false

// Long&Short Levels
BuyEnter = highest(buyPeriodEnter)
BuyExit = isMiddleBuy ? ((highest(buyPeriodExit) + lowest(buyPeriodExit)) / 2): lowest(buyPeriodExit)

SellEnter = lowest(sellPeriodEnter)
SellExit = isMiddleSell ? ((highest(sellPeriodExit) + lowest(sellPeriodExit)) / 2): highest(sellPeriodExit)

// Plot Data
plot(BuyEnter, style=plot.style_line, linewidth=2, color=color.blue, title="Buy Enter")
plot(BuyExit, style=plot.style_line, linewidth=1, color=color.blue, title="Buy Exit", transp=50)
plot(SellEnter, style=plot.style_line, linewidth=2, color=color.red, title="Sell Enter")
plot(SellExit, style=plot.style_line, linewidth=1, color=color.red, title="Sell Exit", transp=50)

// Calc Take Profits
TakeProfitBuy = 0.0
TakeProfitSell = 0.0
if strategy.position_size > 0
    TakeProfitBuy := strategy.position_avg_price*(1 + takeProfitBuy/100)
    
if strategy.position_size < 0
    TakeProfitSell := strategy.position_avg_price*(1 - takeProfitSell/100)

// Long Position    
if isBuy and timeRange
    strategy.entry("Long", strategy.long, stop = BuyEnter, when = strategy.position_size == 0) 
    
strategy.exit("Long Exit", "Long", stop=BuyExit, limit = TakeProfitBuy, when = strategy.position_size > 0)

// Short Position
if isSell and timeRange
    strategy.entry("Short", strategy.short, stop = SellEnter, when = strategy.position_size == 0) 
    
strategy.exit("Short Exit", "Short", stop=SellExit, limit = TakeProfitSell, when = strategy.position_size < 0)

// Close & Cancel when over End of the Test
if time > endTest
    strategy.close_all()
    strategy.cancel_all()