Strategi stop profit dan stop loss saluran Ketner


Tanggal Pembuatan: 2023-09-15 14:41:46 Akhirnya memodifikasi: 2023-09-15 14:41:46
menyalin: 0 Jumlah klik: 801
1
fokus pada
1617
Pengikut

Tinjauan Strategi

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.

Prinsip Strategi

  1. Perhitungan rel tengah, rel atas, dan rel bawah dari Gerbang Kretna.

  2. Jika harga mencapai puncaknya, pertimbangkan untuk melakukan beberapa peluang; jika harga mencapai puncaknya, pertimbangkan untuk melakukan beberapa peluang.

  3. Pada saat harga menembus tren naik, masuknya lebih banyak; pada saat harga menembus tren turun, masuknya kosong.

  4. 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.

Keunggulan Strategis

  • 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

Peringatan bahaya

  • 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

Meringkaskan

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.

Kode Sumber Strategi
/*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)