
Ringkasan
Strategi ini didasarkan pada indikator Keltner channel, menggunakan indeks moving average (EMA) dan rata-rata amplitudo fluktuasi nyata (ATR) untuk membangun saluran naik turun, melakukan posisi terbuka lebih banyak ketika harga menerobos tren bawah, dan posisi datar ketika harga menerobos tren atas. Strategi ini mencoba untuk menangkap area fluktuasi harga, dan menghasilkan keuntungan ketika harga menerobos tren atas.
Prinsip Strategi
- Menghitung EMA dari periode yang ditentukan sebagai orbit tengah Keltner Channel.
- Hitung ATR untuk periode yang ditentukan, lalu kalikan dengan kelipatan sebagai orbit atas dan bawah saluran.
- Ketika harga penutupan turun, Anda harus mengambil posisi yang lebih besar dan mencatat harga yang Anda buka.
- Ketika harga buka saham menembus tren, maka posisi terendah akan berada di posisi terendah.
- Pada posisi terbuka, jika harga terbuka lebih tinggi dari harga teratas, maka akan dihapus.
Keunggulan Strategis
- Karena saluran Keltner menggunakan ATR untuk membangun naik dan turun, ATR dapat mengukur tingkat fluktuasi harga, sehingga lebar saluran akan meningkat sesuai dengan fluktuasi yang lebih besar, sehingga secara efektif mengurangi biaya yang ditimbulkan oleh transaksi yang sering.
- Strategi ini memiliki ciri-ciri logis yang jelas dan sederhana, mudah dipahami dan diimplementasikan. Indikator yang digunakan dalam strategi ini sederhana, dan logika intinya relatif mudah dipahami.
- Memiliki kemampuan untuk mengikuti tren tertentu. Dalam tren naik, strategi ini memungkinkan untuk memegang posisi multihead sampai harga menerobos tren.
Risiko Strategis
- Kurangnya mekanisme stop loss yang jelas. Strategi ini tidak menetapkan stop loss setelah membuka posisi, yang dapat menyebabkan penarikan yang lebih besar dalam situasi berbalik.
- Definisi sinyal breakout lebih kasar. Hanya menggunakan harga close-out yang turun dan harga open-out yang naik sebagai sinyal untuk membuka posisi kosong, dapat menghasilkan beberapa kesalahan penilaian yang menyebabkan kerugian dalam perdagangan.
- Pilihan parameter strategi sangat berpengaruh pada hasil. Pilihan siklus EMA dan ATR serta pengaturan perkalian ATR dapat mempengaruhi kinerja strategi, tetapi strategi tidak memberikan cara yang jelas untuk mengoptimalkan parameter.
Arah optimasi strategi
- Memperkenalkan mekanisme stop loss yang jelas. Anda dapat mempertimbangkan untuk mengatur stop loss dengan poin atau persentase tetap saat membuka posisi, sehingga mengontrol kerugian maksimum dalam satu transaksi.
- Kriteria penilaian untuk sinyal optimasi. Anda dapat mempertimbangkan untuk menggunakan lebih banyak informasi harga untuk mengkonfirmasi terobosan, seperti meminta harga penutupan beberapa garis K berturut-turut di bawah rel bawah untuk membuka posisi, untuk menghindari terobosan palsu dari garis K tunggal.
- Optimalisasi parameter. Metode seperti algoritma genetik dapat digunakan untuk mengoptimalkan siklus EMA, ATR, dan ATR kelipatan, mencari kombinasi parameter yang lebih sesuai dengan pasar saat ini.
- Anda dapat mempertimbangkan untuk menambahkan beberapa sinyal penyaringan, seperti hanya membuka posisi jika ADX lebih tinggi dari suatu nilai terendah, atau menggunakan array multihead dari MA sebagai penyaringan tren.
Meringkaskan
Strategi ini didasarkan pada indikator Keltner channel, memanfaatkan logika harga untuk menerobos naik ke bawah. Keunggulan strategi ini adalah logika yang sederhana dan jelas, kemampuan beradaptasi yang kuat, kelemahan adalah kurangnya stop loss dan kualitas sinyal yang buruk. Strategi ini dapat disempurnakan di masa depan dengan memperkenalkan stop loss, mengoptimalkan sinyal, optimalisasi parameter, dan menambahkan kondisi penyaringan.
Kode Sumber Strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © satrusskumar
//@version=5
// Input parameters
length = input.int(21, title="EMA Length")
mult = input.float(2, title="ATR Multiplier")
atrLength = input.int(13, title="ATR Length")
// Calculate Keltner Channels
ema = ta.ema(close, length)
atr = ta.atr(atrLength)
upper_band = ema + mult * atr
lower_band = ema - mult * atr
// Plot Keltner Channels
plot(upper_band, color=color.red, title="Keltner Upper Band")
plot(ema, color=color.blue, title="Keltner EMA")
plot(lower_band, color=color.green, title="Keltner Lower Band")
// Strategy logic
var float entry_price = na
var bool in_trade = false
if (not in_trade and close < lower_band)
strategy.entry("Long", strategy.long)
entry_price := close
in_trade := true
if (in_trade and open > upper_band)
strategy.close("Long")
in_trade := false
// Strategy settings
strategy("Keltner Channel Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)