
Strategi ini didasarkan pada strategi perdagangan Seesaw yang terkenal, menggunakan indikator saluran Donchian untuk menilai harga yang terobosan, dan digabungkan dengan indikator ATR untuk mengatur posisi stop loss, untuk melakukan pelacakan tren. Keuntungan dari strategi ini adalah kemampuan kontrol mundur yang kuat, yang dapat secara efektif mengendalikan stop loss tunggal dan mengurangi probabilitas kerugian berturut-turut. Namun, strategi ini memiliki adaptasi yang lemah terhadap varietas perdagangan, yang memerlukan parameter saluran yang dioptimalkan. Secara keseluruhan, strategi ini berfungsi sebagai versi awal dari metode Seesaw, yang dapat digunakan untuk membuktikan efektivitas metode Seesaw, atau sebagai salah satu strategi dasar untuk perdagangan kuantitatif.
Strategi ini didasarkan pada dua indikator: saluran Donchian dan ATR.
Saluran Donchian dihitung dari harga tertinggi dan harga terendah. Strategi default yang ditetapkan untuk panjang saluran adalah 20 hari, dengan harga tertinggi dan harga terendah dalam waktu 20 hari. Saluran ini menghasilkan sinyal beli ketika harga menembus saluran di atas; Saluran ini menghasilkan sinyal jual ketika harga menembus saluran di bawah.
Indikator ATR digunakan untuk mengukur tingkat volatilitas pasar dan mengatur stop loss. Periode ATR default adalah 20 hari. Strategi menggunakan dua kali lipat dari ATR sebagai stop loss.
Logika transaksi adalah sebagai berikut:
Ketika harga menembus saluran, lakukan penetrasi lebih lanjut.
Stop loss adalah titik terendah pada saat masuk dikurangi dua kali ATR.
Ketika harga menembus saluran bawah, posisi overhead akan dipadamkan.
Ketika harga menembus saluran bawah, bukalah.
Stop loss adalah titik tertinggi pada saat masuk ditambah dua kali ATR.
Ketika harga menembus saluran di atas, posisi teratas kosong.
Secara keseluruhan, strategi ini bergantung pada saluran Donchian untuk menentukan arah tren dan waktu masuk, dengan pengaturan ATR untuk menghentikan kerugian untuk mengendalikan risiko, dan untuk melacak tren.
Strategi ini memiliki beberapa keuntungan utama:
Pengendalian penarikan yang kuat. Menggunakan indikator ATR untuk mengatur stop loss, Anda dapat secara efektif mengendalikan kerugian tunggal.
Pelacakan tren diterapkan. Saluran Donchian dapat secara efektif menilai terobosan harga dan menunjukkan konversi tren.
Cocok untuk varietas yang berfluktuasi tinggi. Indikator ATR mempertimbangkan fluktuasi pasar, dan pengaturan stop loss lebih sesuai dengan karakteristik varietas yang berbeda.
Strategi ini sederhana, jelas, dan mudah dipahami.
Strategi untuk menulis dan mengoptimalkan dengan fleksibel menggunakan bahasa Python.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Parameter saluran perlu dioptimalkan. Dalam berbagai varietas dan periode waktu, parameter saluran perlu disesuaikan untuk menyesuaikan dengan karakteristik pasar.
Risiko penghentian kerugian berturut-turut. Dalam situasi yang tidak biasa, dalam waktu singkat dapat memicu beberapa penghentian kerugian, yang mengakibatkan kerugian yang lebih besar.
Parameter ATR perlu diuji. Parameter ATR secara langsung mempengaruhi efek stop loss, dan perlu disesuaikan dengan varietas dan lingkungan fluktuasi.
Frekuensi perdagangan mungkin terlalu tinggi. Dalam pasar yang bergoyang di mana tidak ada tren yang jelas, mungkin akan ada terlalu banyak sinyal silang.
Keuntungan mungkin terbatas. Strategi yang didasari oleh stop loss tidak dapat secara efektif menangkap seluruh kenaikan tren.
Stop loss dalam situasi yang berlebihan mungkin tidak cukup. Dalam beberapa situasi yang tidak biasa, harga yang melonjak bisa langsung memicu stop loss.
Strategi ini dapat dioptimalkan dengan:
Mengoptimalkan parameter saluran, menguji kesesuaian parameter yang berbeda dengan varietas yang berbeda.
Menambahkan kondisi penyaringan untuk menghindari terlalu banyak sinyal dalam situasi yang bergoyang. Penyaringan Breakout atau Volume dapat dipertimbangkan.
Optimalkan parameter siklus ATR, uji pengaruh parameter yang berbeda terhadap efek stop loss.
Menambahkan strategi masuk piramida, menambah posisi dalam tren, dan memperluas ruang untuk keuntungan.
Dalam kombinasi dengan indikator lain, untuk meningkatkan efek penyaringan. Indikator seperti MACD, KD dan lain-lain untuk menilai tren, menghindari perdagangan terbalik.
Optimalkan titik stop loss berdasarkan biaya transaksi seperti slippage, biaya, dan lain-lain.
Uji adaptasi dari berbagai varietas, menyesuaikan parameter untuk varietas tertentu.
Strategi ini merupakan versi awal dari hukum perdagangan mata uang kripto, secara keseluruhan strategi ini sederhana dan jelas, dan memiliki kemampuan kontrol penarikan yang kuat, sehingga dapat secara efektif memverifikasi prinsip hukum perdagangan mata uang kripto. Namun, strategi ini kurang beradaptasi dengan varietas perdagangan, dan perlu mengoptimalkan parameter khusus sesuai dengan varietas yang berbeda, agar strategi dapat bekerja. Dengan pengoptimalan parameter, peningkatan kondisi penyaringan, dan lain-lain, strategi ini dapat menjadi salah satu strategi pelacakan tren dasar untuk perdagangan kuantitatif.
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Based on Turtle traders strategy: buy/sell on Donchian breakouts and stop loss on ATR 2x
// initial version considerations :
//// 1. Does not consider filter for avoiding new entries after winning trades (filtering rule from Turtle Strategy on 20 day breakout strategy)
//// 2. Does not consider pyramiding (aditional entries after 1N price movements)
strategy("Turtle trading strategy (Donchian/ATR)", overlay=true)
enter_period = input(20, minval=1, title="Enter Channel")
exit_period = input(10, minval=1, title="Exit Channel")
offset_bar = input(0,minval=0, title ="Offset Bars")
direction = input("Long",options=["Long","Short"],title="Direction")
max_length = max(enter_period,exit_period)
atrmult = input(2,title="ATR multiplier (Stop Loss)")
atrperiod = input(20,title="ATR Period")
closed_pos = false
dir_long = direction == "Long"? true : false
atr = atr(atrperiod)
upper = dir_long ? highest(enter_period): highest(exit_period)
lower = dir_long ? lowest(exit_period): lowest(enter_period)
atrupper = close + atr
atrlower = close - atr
plotted_atr = dir_long ? atrlower : atrupper
//basis = avg(upper, lower)
l = plot(lower, style=line, linewidth=3, color=lime, offset=1)
u = plot(upper, style=line, linewidth=3, color=lime, offset=1)
a = plot(plotted_atr, style=line,linewidth=2,color=red,offset=1)
//plot(basis, color=yellow, style=line, linewidth=1, title="Mid-Line Average")
//break upper Donchian (with 1 candle offset) (buy signal)
break_up = (close >= upper[1])
//break lower Donchian (with 1 candle offset) (sell signal)
break_down = (close <= lower[1])
stop_loss = dir_long ? (close<=plotted_atr[1]) : (close>=plotted_atr[1])
if break_up and dir_long
strategy.entry("buy", strategy.long, 1)
closed_pos :=false
if (break_down or stop_loss) and dir_long
strategy.close("buy")
if break_down and not dir_long
strategy.entry("sell", strategy.short, 1)
closed_pos :=false
if (break_up or stop_loss) and not dir_long
strategy.close("sell")
closed_pos :=true
losing_trade = strategy.equity[0]<strategy.equity[1]
//plotshape(losing_trade,text="Losing!")
plotshape(stop_loss,style=dir_long?shape.labeldown:shape.labelup,text="Stop!")
//plot(strategy.equity)