Strategi mengikut arah aliran berdasarkan Saluran Harga dan purata bergerak


Tarikh penciptaan: 2024-02-06 09:46:23 Akhirnya diubah suai: 2024-02-06 09:46:23
Salin: 0 Bilangan klik: 600
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran berdasarkan Saluran Harga dan purata bergerak

Gambaran keseluruhan

Strategi ini mewujudkan pengenalan dan pengesanan trend dengan membina Saluran Harga, mengira jarak harga dari garis pusat, dan kemudian menggabungkan isyarat penapisan linear. Ia menghasilkan isyarat perdagangan apabila harga menembusi Saluran.

Prinsip Strategi

  1. Membina Saluran Harga
  • Hitung harga tertinggi dan terendah dalam kitaran len terkini
  • Garis tengah adalah purata harga tertinggi dan terendah
  • Jarak adalah penyelewengan mutlak harga dari garisan tengah
  • Jarak lancar untuk mendapatkan laluan atas dan bawah
  1. Menentukan arah trend
  • Apabila harga berada di bawah tren terbawah, ia ditakrifkan sebagai tren turun
  • Apabila harga lebih tinggi daripada tren atas, yang ditakrifkan sebagai tren kenaikan
  1. Menjana isyarat dagangan
  • Dalam trend runcit, harga lebih rendah daripada harga pembukaan atau lebih tinggi daripada harga runcit
  • Harga lebih tinggi daripada harga bukaan atau di bawah tren turun, harga kosong ketika naik dan turun

Analisis kelebihan

  1. Menerima trend jangka panjang
  2. Menyertai isyarat terobosan untuk mengelakkan perdagangan yang tidak sah di zon gegaran
  3. Parameter yang boleh disesuaikan untuk pelbagai jenis

Analisis risiko

  1. Mungkin terdapat kerugian yang lebih kecil di bawah trend gegaran
  2. Parameter yang tidak betul mungkin terlepas trend reversal
  3. Perhatian perlu diberikan kepada kekerapan transaksi untuk mengelakkan perdagangan berlebihan

Arah pengoptimuman

  1. Gabungan dengan petunjuk lain untuk menapis isyarat
  2. Secara dinamik menyesuaikan parameter Saluran Harga
  3. Menyertai mekanisme halangan kerugian, pengendalian wang yang optimum

ringkaskan

Strategi ini secara keseluruhannya lebih kukuh dan dapat mengesan trend garis tengah dengan berkesan, sambil menghasilkan isyarat perdagangan yang digabungkan dengan penembusan trend. Dengan pengoptimuman parameter dan penapisan isyarat, strategi ini dapat diperbaiki lagi, sehingga dapat disesuaikan dengan lebih banyak jenis dan keadaan pasaran.

Kod sumber strategi
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.1", shorttitle = "NoroBands str 1.1", overlay=true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Color")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
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 = 90)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)