Strategi Mengikuti Tren Bollinger Band Rata-rata Bergerak Ganda


Tanggal Pembuatan: 2023-12-22 14:54:20 Akhirnya memodifikasi: 2023-12-22 14:54:20
menyalin: 1 Jumlah klik: 619
1
fokus pada
1621
Pengikut

Strategi Mengikuti Tren Bollinger Band Rata-rata Bergerak Ganda

Ringkasan

Strategi ini adalah strategi perdagangan kuantitatif yang menggunakan kombinasi Bollinger Bands dan Average Lines untuk menilai tren dan masuk. Ini menggabungkan kemampuan Bollinger Bands untuk mengenali tren dan efek riak dari moving averages untuk secara efektif mengidentifikasi arah tren pasar dan masuk dalam tren.

Prinsip Strategi

  1. Menggunakan harga tertinggi dan terendah untuk menghitung BRI untuk menentukan arah tren pasar

    • Highest dan lowest saluran perhitungan naik turun
    • Akses tengah adalah harga rata-rata dari harga tertinggi dan terendah
    • Penjelasan tentang posisi harga pada saluran menentukan arah tren
  2. Menghitung ukuran entitas sinar matahari, menilai sinyal stop dan reversal

    • Entitas yang bergaris-garis terang adalah nilai mutlak dari harga penutupan dikurangi harga pembukaan
    • Menghitung rata-rata entitas sinar matahari dalam periode N, dibandingkan dengan ukuran entitas sinar matahari saat ini, untuk menilai stop loss dan reversal
  3. Setelah mengkonfirmasi arah tren, masuk ke arah saluran

    • Tren naik di dekat rel bawah
    • Pada saat tren turun, posisi kepala kosong di dekat rel
  4. Filter gelombang menggunakan moving average untuk menghindari sinyal palsu

    • Perhitungan rata-rata pergerakan harga penutupan untuk N siklus
    • Sinyal perdagangan hanya akan dikirim ketika harga melampaui rata-rata

Keunggulan Strategis

  1. Tren penilaian yang kuat, sistematis, yang menggabungkan jalur Brin dan rata-rata bergerak

Brinband dapat dengan jelas menentukan saluran harga dan arah tren, rata-rata bergerak melakukan filter, keduanya dapat secara efektif mengidentifikasi tren, menghindari dampak dari kejadian pasar yang mendadak, menjamin stabilitas sistem.

  1. Menggunakan ukuran entitas sinar matahari untuk menghentikan kerugian dan mengontrol risiko secara efektif

Dengan menghitung rata-rata ukuran entitas sinar matahari dalam periode tertentu, dibandingkan dengan ukuran entitas periode saat ini, dapat dengan jelas menilai pembalikan tren, melakukan stop loss dan penurunan posisi, sehingga efektif mengendalikan risiko strategi.

  1. Kuantitatif masuk dan berhenti-rugi aturan yang jelas

Strategi masuk dalam kondisi yang bekerja sama dengan moving average dan arah saluran, dan menggunakan aturan ukuran entitas sinar matahari untuk menghentikan kerugian, sehingga seluruh sistem masuk dan menghentikan aturan sangat jelas sistematis.

Analisis risiko

  1. Potensi risiko kerugian dalam situasi yang bergolak

Dalam situasi yang bergejolak, harga mungkin beberapa kali menyentuh rel bawah dan menyebabkan kerugian kecil berulang. Pada saat ini, ukuran posisi harus dikurangi untuk mengurangi kerugian tunggal.

  1. Terlalu dekat dengan titik stop loss menyebabkan risiko terjatuh dari pergerakan yang terlalu besar.

Dalam tren yang kuat, penurunan harga jangka pendek dapat memicu penarikan aturan stop loss, dan pada saat ini stop loss harus dilonggarkan dengan tepat untuk mengikuti tren.

  1. Kemungkinan parameter yang salah menyebabkan sinyal yang salah

Setting parameter moving average dan Brinband tidak tepat, dapat terjadi kesalahan identifikasi sinyal. Parameter harus dioptimalkan dengan tepat, agar sinyal stabil dan dapat diandalkan.

Arah optimasi strategi

  1. Mengoptimalkan parameter siklus rata-rata bergerak

Mengatur parameter moving average, mengurangi tingkat kehalusan, dan lebih cepat menemukan perubahan tren.

  1. Uji Efek dari Aturan Stop Loss yang Berbeda

Cobalah berbagai aturan stop loss, seperti tracking stop loss, ATR stop loss, dan lain-lain, dan pilihlah stop loss yang optimal.

  1. Menambahkan bantuan model pembelajaran mesin

Model pelatihan berdasarkan data historis yang banyak membantu menilai tren dan mengirimkan sinyal perdagangan.

Meringkaskan

Strategi ini secara komprehensif mempertimbangkan penilaian tren dan pengendalian risiko, menggunakan jalur Brin dan rata-rata bergerak untuk identifikasi tren, sekaligus menghentikan kerugian dengan ukuran entitas sinar matahari. Strategi ini bersifat sistematis, aturan kuantitatifnya jelas, dan dapat secara efektif mengendalikan risiko untuk mendapatkan keuntungan tambahan.

Kode Sumber Strategi
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper str 1.3", 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 1
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
hd1 = center + distsma / 2
ld1 = center - distsma / 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 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)

//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low

//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0

//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 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) or (body > smabody and close > open)) ? 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)