
Strategi ini dibentuk dengan menghitung harga tertinggi dan terendah dalam periode tertentu, membentuk tren naik turun, dan melakukan lebih banyak ketika harga menembus tren naik, dan melonggarkan posisi ketika harga jatuh dari tren turun. Strategi ini menangkap fase kuat dari tren, dan menilai waktu masuk melalui tren.
Strategi ini pertama-tama menghitung harga tertinggi dan terendah dari 20 garis K terakhir, membentuk tren atas dan tren bawah. Bila harga penutupan garis K saat ini lebih tinggi dari tren atas, lakukan over; Bila harga jatuh dari tren bawah, stop loss.
Secara khusus, strategi ini menghitung harga tertinggi dan terendah dari 20 garis K terbaru dengan fungsi tertinggi dan terendah, membentuk kisaran. Kemudian menilai apakah harga penutupan garis K saat ini lebih tinggi dari tren atas, dan jika demikian, lakukan lebih banyak; Jika harga turun dari tren bawah, maka berhentilah posisi.
Strategi ini bergantung pada tren untuk menentukan waktu masuk dan merupakan strategi pelacakan tren. Strategi ini hanya berlaku untuk varietas dengan karakteristik tren yang jelas.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini sederhana, jelas, dan mudah dipahami.
Menggunakan trend breakout untuk menilai waktu masuk, Anda dapat menangkap fase kekuatan tren.
Menggunakan stop loss bergerak untuk mengendalikan risiko, dapat secara efektif membatasi kerugian tunggal.
Hanya melakukan lebih banyak dan tidak kosong, berlaku untuk varietas yang jelas tren.
Parameter yang dapat disesuaikan, panjang siklus dan stop loss.
Strategi ini juga memiliki risiko sebagai berikut:
Tidak ada yang bisa dipastikan apakah tren ini akan berbalik, dan kemungkinan besar akan terjadi perburuan.
Posisi stop loss mudah dipicu oleh harga yang melonjak secara besar-besaran.
Jika tren berubah, mungkin akan ada beberapa stop loss kecil.
Hanya melakukan lebih banyak dan tidak kosong, tidak bisa memanfaatkan tren turun.
Setting parameter yang tidak tepat dapat menyebabkan terlalu sensitif atau lambat.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Menambahkan indikator untuk menilai tren, menghindari masih melakukan lebih banyak ketika tren berbalik. Misalnya menambahkan indikator untuk menilai arah tren seperti MACD.
Mengoptimalkan strategi stop loss bergerak, mengatur kontrol risiko lebih masuk akal. Misalnya, menggunakan stop loss bergerak dengan fluktuasi harga.
Menambahkan strategi kosong, Anda juga dapat membuka posisi dan melakukan shorting untuk mendapatkan keuntungan dalam tren turun.
Optimasi tes parameter untuk menemukan kombinasi parameter optimal.
Menambahkan fungsi optimasi parameter otomatis, menyesuaikan parameter secara dinamis sesuai dengan kondisi pasar.
Pertimbangan strategis dalam kombinasi periode waktu yang berbeda untuk menghindari kesalahan dalam satu periode.
Strategi ini memiliki konsep yang jelas dan mudah dimengerti. Strategi ini menggunakan trend break untuk menilai waktu masuk, dan dapat menangkap fase kuat dari tren tersebut. Namun, ada beberapa risiko dalam strategi ini, seperti ketidakakuratan penilaian tren, stop loss yang terbelah.
/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-24 17:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Donchian Wicks Strategy - Long Only with Customizable Donchian Exit and Stop Loss", "DWS", overlay = true)
// INPUTS
iLength = input(20, "Length", minval = 1)
stopLossPercent = input(1.0, "Stop Loss Percentage", type=input.float) / 100
// SETTING
float up = na
up := close > open ? high : nz(up[1])
float down = na
down := close < open ? low : nz(down[1])
highest = highest(up, iLength)
lowest = lowest(down, iLength)
// PLOT
p1 = plot(highest, "Highest", color.black, 2)
p2 = plot(lowest, "Lowest", color.black, 2)
fill(p1, p2, color.new(color.navy, 90), title="Range")
// ENTRY SIGNALS
wickDown = low < lowest
// STRATEGY IMPLEMENTATION
strategy.entry("Buy", strategy.long, when = wickDown)
strategy.exit("Sell at Donchian High", from_entry="Buy", limit=highest)
// Customizable Stop Loss
stopLossLevel = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", from_entry="Buy", stop=stopLossLevel)