
Strategi ini dilakukan dengan mengira medium, upstream dan downstream dari saluran Keltner, berdasarkan medium, ABOVE medium dan downstream mengisi warna. Setelah menilai arah saluran, melakukan pembelian dan penjualan yang menembus. Ia adalah salah satu jenis strategi pengesanan trend.
Indikator utama adalah saluran Keltner. Laluan di tengah saluran adalah harga tipikal ((harga tertinggi + harga terendah + harga penutupan) / N rata-rata bergerak bertimbangan N hari. Laluan di atas saluran dan bawah saluran adalah satu rangkaian perdagangan yang dipisahkan dari satu rangkaian perdagangan.
Khususnya, strategi ini menentukan sama ada harga menembusi atas atau bawah, dengan garis tengah sebagai pembatas keputusan berbilang atau kosong. Jika harga penutupan lebih besar daripada atas, lakukan lebih banyak; jika harga penutupan lebih kecil daripada bawah, kosong.
Strategi ini secara keseluruhannya lebih mudah dan langsung, merupakan salah satu strategi penembusan harga yang biasa. Kelebihannya adalah idea yang jelas, mudah difahami, sesuai untuk pelajar pemula. Tetapi ada juga batasan tertentu, sensitif terhadap parameter, parameter kesannya tidak seimbang, memerlukan pengoptimuman ujian berulang.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © WMX_Q_System_Trading
//@version=3
strategy(title = "WMX Keltner Channels strategy", shorttitle = "WMX Keltner Channels strategy", overlay = true)
useTrueRange = input(true)
length = input(20, minval=5)
mult = input(2.618, minval=0.1)
mah =ema(ema( ema(high, length),length),length)
mal =ema(ema( ema(low, length),length),length)
range = useTrueRange ? tr : high - low
rangema =ema(ema( ema(range, length),length),length)
upper = mah + rangema * mult
lower = mal - rangema * mult
ma=(upper+lower)/2
uc = red
lc=green
u = plot(upper, color=uc, title="Upper")
basis=plot(ma, color=yellow, title="Basis")
l = plot(lower, color=lc, title="Lower")
fill(u, basis, color=uc, transp=95)
fill(l, basis, color=lc, transp=95)
strategy.entry("Long", strategy.long, stop = upper, when = strategy.position_size <= 0 and close >upper)
strategy.entry("Short", strategy.short, stop = lower, when = strategy.position_size >= 0 and close<lower)
if strategy.position_size > 0
strategy.exit("Stop Long", "Long", stop = ma)
if strategy.position_size < 0
strategy.exit("Stop Short", "Short", stop = ma)