Artikel ini akan memperkenalkan strategi perdagangan garis pendek berdasarkan saluran harga dinamik. Strategi ini menilai arah trend dengan mengira saluran harga dinamik dan berdagang di titik penembusan saluran.
Strategi ini berdasarkan kepada prinsip-prinsip berikut:
Menggunakan harga tertinggi dan terendah untuk mengira saluran harga dinamik. Garis atas saluran adalah separuh daripada jumlah harga tertinggi dan garis tengah saluran, dan garis bawah adalah separuh daripada perbezaan antara harga terendah dan garis tengah saluran.
Apabila harga menembusi ke atas, ia menunjukkan bahawa ia memasuki trend naik; apabila harga menembusi ke bawah, ia menunjukkan bahawa ia memasuki trend menurun.
Dalam trend naik, buat lebih apabila dua garis negatif berturut-turut muncul; dalam trend turun, buat kosong apabila dua garis positif berturut-turut muncul.
Anda boleh memilih untuk membuka posisi terbalik, iaitu melakukan shorting semasa naik dan melakukan lebih banyak semasa turun, untuk mengejar sentimen pasaran.
Anda boleh menetapkan nisbah hentian, contohnya menetapkan hentian sebagai x% dari harga masuk untuk mengunci keuntungan.
Strategi ini mempunyai kelebihan berikut:
“Dinamik saluran” dapat mencerminkan perubahan pasaran dalam masa nyata, dan lebih baik untuk menilai trend.
Gabungan trend dan beberapa K-garis penembusan isyarat, anda boleh menyaring penembusan palsu.
Dalam pada itu, jika anda mempunyai peluang untuk menjana keuntungan, anda boleh menjana keuntungan yang lebih besar daripada yang lain.
Menetapkan nisbah penangguhan dapat mengawal risiko dengan berkesan.
Strategi ini ringkas, jelas dan mudah dilaksanakan.
Strategi ini juga mempunyai risiko:
Saluran mungkin tidak berfungsi apabila pasaran berubah-ubah dengan kuat. Parameter harus disesuaikan dengan betul untuk menjadikan saluran lebih stabil.
Reverse open position mudah rugi, perlu kawal peratusan kerugian tunggal.
Penembusan palsu boleh menyebabkan perdagangan yang salah. Kesan penembusan harus digabungkan dengan trend.
Anda perlu berhati-hati untuk mengelakkan transaksi yang terlalu kerap untuk mengawal kos transaksi.
Strategi ini menggabungkan trend penilaian saluran dinamik, K-line penembusan masuk dan pemikiran berhenti. Apabila parameter disesuaikan dengan betul, ia boleh menjadi alat yang berkesan untuk perdagangan garis pendek. Tetapi peniaga masih perlu berhati-hati dengan kawalan risiko dan membuat perubahan yang sesuai dengan gaya perdagangan mereka sendiri.
/*backtest
start: 2022-09-09 00:00:00
end: 2023-09-15 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.1", shorttitle = "Scalper str 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2
//Trend
sma = sma(close, 20)
smatrend = close > sma ? 1 : close < sma ? -1 : smatrend[1]
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and bar == -1 and bar[1] == -1 ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and bar == 1 and bar[1] == 1 ? 1 : 0
if up7 == 1 or up8 == 1
strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)
if dn7 == 1 or dn8 == 1
strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)