Strategi Stop Loss Channel adalah strategi kuantitatif untuk mengoptimalkan keputusan perdagangan berdasarkan metode analisis channel Kertner, dengan menambahkan aturan stop loss. Strategi ini memantau hubungan antara harga dan tren naik dan turun channel, masuk ke arah melakukan banyak shorting ketika terjadi penembusan, dan mencapai keseimbangan risiko dan keuntungan sesuai dengan titik stop loss yang optimal.
Perhitungan rel tengah, rel atas, dan rel bawah dari Gerbang Kretna.
Jika harga mencapai puncaknya, pertimbangkan untuk melakukan beberapa peluang; jika harga mencapai puncaknya, pertimbangkan untuk melakukan beberapa peluang.
Pada saat harga menembus tren naik, masuknya lebih banyak; pada saat harga menembus tren turun, masuknya kosong.
Setting stop stop untuk harga masuk naik proporsi tertentu, stop loss untuk harga masuk turun proporsi tertentu.
Keuntungan dari strategi ini adalah memperkenalkan aturan stop loss yang tepat waktu untuk menghentikan kerugian yang terlalu besar pada saat berjalan dengan baik; berhenti tepat waktu sebelum akhir gelombang. Selain itu, strategi ini juga memberikan sinyal untuk masuk kembali dan berpartisipasi dalam perdagangan tren secara berkelanjutan.
Parameter dapat dioptimalkan untuk varietas yang berbeda untuk mencapai keseimbangan manfaat-risiko yang optimal.
Jalan Kertner menilai arah tren
Stop Loss Optimisasi Keuntungan
Pindah masuk dan keluar dengan mulus, menghindari terobosan palsu.
Kebijakan fleksibel, parameter dapat disesuaikan
Dapat digunakan dalam kombinasi dengan indikator lain
Perlu meningkatkan stop loss rasio dengan tepat
Masih ada risiko kerugian.
Koridor bisa rusak dan mengakibatkan kerugian
Stop loss yang terlalu kecil dapat menyebabkan gangguan yang sering terjadi
Strategi Stop Loss Stop Loss Channel Kettner dioptimalkan untuk perdagangan saluran tradisional, mengendalikan risiko perdagangan sambil melacak tren. Dengan pengukuran berulang dan penyesuaian parameter, efek strategi yang baik dapat diperoleh. Strategi ini layak untuk diteliti secara mendalam dan diuji di laboratorium, yang dapat meningkatkan stabilitas strategi secara bertahap.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-08-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Optimized Keltner Channels Strategy for BTC", overlay=true)
length = input(9, minval=1)
mult = input(1.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(18, "ATR Length")
sl = input(defval=22, minval=0, title="Stop Loss (%)")
tp = input(defval=21, minval=0, title="Take Profit (%)")
esma(source, length)=>
s = sma(source, length)
e = ema(source, length)
exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? rma(tr(true), length) : BandsStyle == "Average True Range" ? atr(atrlength) : rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
c = color.blue
u = plot(upper, color=color.green, title="Upper")
plot(ma, color=#0094FF, title="Basis")
l = plot(lower, color=color.red, title="Lower")
fill(u, l, color=#0094FF, transp=95, title="Background")
crossUpper = crossover(src, upper)
crossLower = crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? close+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? close-syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
: na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (src < ma or high >= bprice )
cancelScond = crossScond and (src > ma or low <= sprice )
if (cancelBcond)
strategy.cancel("KltChLE")
if (crossUpper)
strategy.entry("KltChLE", strategy.long, stop=bprice, comment="Long")
if (cancelScond)
strategy.cancel("KltChSE")
if (crossLower)
strategy.entry("KltChSE", strategy.short, stop=sprice, comment="Short")
strategy.exit("long exit", "KltChLE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
strategy.exit("Short exit", "KltChSE", profit = close * tp * 0.01 / syminfo.mintick, loss = close * sl * 0.01 / syminfo.mintick)
plot(bprice, color=color.green)
plot(sprice, color=color.red)