Strategi Perdagangan Saluran Harga Dinamik

Penulis:ChaoZhang, Tarikh: 2023-09-16 19:01:26
Tag:

Ringkasan

Artikel ini memperkenalkan strategi perdagangan jangka pendek berdasarkan saluran harga dinamik. Ia menilai arah trend dengan mengira saluran dinamik harga dan perdagangan pada saluran pecah.

Logika Strategi

Strategi ini berdasarkan logik berikut:

  1. Mengira saluran harga dinamik menggunakan harga tertinggi dan terendah. Band atas adalah purata harga tertinggi dan titik tengah saluran. Band bawah adalah titik tengah dikurangkan perbezaan antara harga terendah dan titik tengah.

  2. Apabila harga memecahkan di atas band atas, trend menaik bermula. Apabila harga memecahkan di bawah band bawah, trend menurun bermula.

  3. Dalam trend menaik, pergi panjang apabila dua bar bearish berturut-turut muncul. Dalam trend menurun, pergi pendek apabila dua bar bullish berturut-turut muncul.

  4. Pertimbangkan entri yang bertentangan dengan trend untuk mengejar momentum pasaran. Sebagai contoh, pendek dalam trend naik dan panjang dalam trend turun.

  5. Tetapkan peratusan keuntungan, seperti x% daripada harga masuk, untuk mengunci keuntungan.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Saluran dinamik mencerminkan perubahan pasaran dalam masa nyata untuk penilaian trend yang lebih baik.

  2. Menggabungkan trend dan breakout menapis breakout palsu.

  3. Pendapatan yang bertentangan dengan trend memanfaatkan momentum pasaran untuk keuntungan yang berlebihan.

  4. Menghentikan keuntungan mengawal risiko dengan berkesan.

  5. Logiknya mudah dan jelas untuk pelaksanaan yang mudah.

Analisis Risiko

Terdapat juga beberapa risiko yang perlu dipertimbangkan:

  1. Saluran mungkin gagal semasa pasaran yang tidak menentu.

  2. Perdagangan yang bertentangan dengan trend adalah terdedah kepada kerugian.

  3. Penembusan palsu boleh menyebabkan perdagangan yang buruk.

  4. Elakkan overtrading untuk mengawal kos.

Kesimpulan

Strategi ini mengintegrasikan saluran dinamik, pecah, dan mengambil keuntungan. Dengan penyesuaian yang betul, ia boleh menjadi alat perdagangan jangka pendek yang berkesan. Tetapi peniaga harus memperhatikan kawalan risiko dan menyesuaikan dengan gaya 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)

Lebih lanjut