Strategi Perdagangan Kura-kura Berdasarkan Saluran Donchian


Tanggal Pembuatan: 2023-12-25 10:57:52 Akhirnya memodifikasi: 2023-12-25 10:57:52
menyalin: 3 Jumlah klik: 888
1
fokus pada
1621
Pengikut

Strategi Perdagangan Kura-kura Berdasarkan Saluran Donchian

Ringkasan

Strategi ini diberi nama strategi perdagangan pirus berdasarkan saluran Donchian. Strategi ini mengambil gagasan utama dari teori perdagangan pirus terkenal, menilai tren pasar melalui saluran Donchian, memfilternya dengan rata-rata bergerak, dan mencapai strategi pelacakan tren yang relatif sederhana.

Prinsip Strategi

Indikator penilaian utama dari strategi ini adalah saluran Donchian. Saluran Donchian terdiri dari rentang fluktuasi dalam N hari dari harga tertinggi dan terendah, jika harga menembus saluran atas, maka sinyal panjang; jika saluran bawah menembus saluran bawah, maka sinyal pendek. Strategi ini menggunakan saluran Donchian cepat (10 hari) untuk memberi sinyal dan menggunakan saluran Donchian lambat (20 hari) untuk menghentikan kerugian.

Selain itu, strategi ini juga memperkenalkan dua rata-rata bergerak ((50th line dan 125th line) untuk memfilter sinyal. Perdagangan multihead dilakukan hanya ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat di atas rata-rata bergerak cepat; perdagangan kosong dilakukan ketika rata-rata bergerak cepat melintasi rata-rata bergerak lambat di bawah rata-rata bergerak cepat. Ini dapat secara efektif memfilter beberapa sinyal palsu.

Kondisi untuk membuka posisi dalam strategi ini adalah: harga naik melalui saluran Donchian, dan melalui rata-rata bergerak cepat melalui rata-rata bergerak lambat, memenuhi kedua kondisi ini untuk membuka lebih banyak pesanan; harga turun melalui saluran Donchian, dan melalui rata-rata bergerak cepat melalui rata-rata bergerak lambat, membuka pesanan kosong. Kondisi posisi rendah adalah untuk harga menyentuh batas saluran Donchian lambat ke arah yang berlawanan.

Analisis Keunggulan Strategi

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menggunakan saluran Donchian untuk menentukan arah tren, pengukuran kembali lebih efektif, dan berhasil menangkap tren besar;

  2. Menambahkan filter pada moving averages, yang dapat memfilter beberapa sinyal palsu untuk menghindari kerugian;

  3. Menggunakan kombinasi dari saluran Donchian yang lambat dan rata-rata bergerak yang lambat untuk menyeimbangkan frekuensi perdagangan dan ketepatan stop loss;

  4. Ada pengendalian risiko dan mekanisme stop loss untuk mengendalikan kerugian tunggal.

Analisis Risiko Strategi

Strategi ini juga memiliki beberapa risiko:

  1. Dalam situasi yang tidak stabil, mungkin akan ada lebih banyak unit dengan kerugian lebih kecil.

  2. Filter rata-rata bergerak akan meningkatkan biaya untuk membangun gudang ketika tren berbalik;

  3. Dalam kasus yang sama, mungkin terjadi penundaan kerugian yang dituntut.

Cara Mengatasi dan Mengatasi:

  1. Parameter dapat disesuaikan dengan baik untuk mempersingkat siklus Donchian dan mengurangi siklus rata-rata bergerak untuk menyesuaikan dengan pasar yang berbeda.

  2. Meningkatkan penilaian terhadap tren skala besar dan menghindari posisi terbalik.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Meningkatkan penilaian terhadap intensitas terobosan. Misalnya, memperkenalkan volume transaksi, hanya membuka posisi jika volume transaksi meningkat;

  2. Meningkatkan penilaian terhadap zona hotspot. Menentukan zona hotspot harga dengan menggunakan titik tekanan, gelombang, dan pola pendukung, dan menghindari zona hotspot untuk membangun gudang.

  3. Optimalkan strategi stop loss. Anda dapat memasukkan tracking stop loss, amplitude stop loss, dan time stop loss untuk membuat stop loss lebih cerdas.

Meringkaskan

Secara keseluruhan, strategi ini adalah strategi pelacakan tren yang sangat khas dan sederhana. Dengan arah penilaian saluran Donchian, sinyal penyaringan rata-rata bergerak, dan efek pengamatan yang lebih baik. Strategi ini cocok untuk investor yang mengejar tren besar, kontrol risiko, dan operasi yang mudah di lapangan. Dengan beberapa parameter dan aturan yang dioptimalkan, Anda dapat meningkatkan tingkat kemenangan dan profitabilitas strategi lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()