Strategi ini menggunakan gabungan Bollinger Bands dan purata bergerak untuk pengenalan trend dan kemasukan. Ia memanfaatkan keupayaan pengenalan trend Bollinger Bands dan kesan penapisan purata bergerak untuk mengenal pasti arah trend pasaran dengan berkesan untuk kemasukan ke pasaran trend.
Mengira Saluran Bollinger untuk menentukan arah trend pasaran
Mengira saiz badan lilin bullish untuk isyarat stop loss dan pembalikan
Masukkan perdagangan ke arah saluran apabila pengesahan trend
Menggunakan purata bergerak untuk penapisan untuk mengelakkan isyarat palsu
Pengesanan trend sistematik yang menggabungkan jalur dan purata bergerak
Band dengan jelas mengenal pasti saluran harga dan arah trend. purata bergerak menapis bunyi bising. Gabungan membolehkan pengesanan trend yang kukuh yang kebal terhadap kejutan pasaran sporadik.
Kawalan risiko yang berkesan melalui kehilangan berhenti badan lilin
Membandingkan badan lilin semasa dengan purata sejarah mengesan pembalikan trend untuk stop loss dan pengurangan kedudukan.
Peraturan kemasukan kuantitatif dan hentian kerugian yang jelas
Syarat purata bergerak dan arah saluran yang ketat untuk kemasukan. peraturan stop loss saiz badan lilin. menjadikan kemasukan dan keluar keseluruhan sistem jelas dan sistematik.
Kemungkinan kerugian di pasaran terhad julat
Harga yang berayun di sekitar band boleh menyebabkan kerugian kecil berulang. saiz kedudukan harus dikurangkan untuk mengehadkan kesan kerugian.
Stop loss awal dalam trend yang kuat
Pengubahsuaian jangka pendek boleh mencetuskan hentian dalam trend menaik/menurun yang kuat. Lebar hentian kerugian harus santai untuk menaiki trend.
Isyarat yang salah daripada penyesuaian parameter yang buruk
Parameter purata bergerak dan jalur yang kurang optimum boleh menyebabkan isyarat palsu. Parameter harus dioptimumkan untuk kebolehpercayaan isyarat.
Mengoptimumkan tempoh carian purata bergerak
Sesuaikan tempoh untuk mengurangkan kelancaran untuk pengesanan perubahan trend yang lebih cepat.
Uji mekanisme stop loss alternatif
Menilai hentian belakang, hentian ATR dan lain-lain untuk mencari sistem yang optimum.
Menggabungkan model pembelajaran mesin
Latih model pada data sejarah yang luas untuk meningkatkan trend dan ramalan isyarat.
Strategi ini menyeimbangkan pengenalan trend dan kawalan risiko menggunakan Bollinger Bands dan purata bergerak. Pendekatan kuantitatif sistematik dengan peraturan kemasukan / keluar yang jelas membolehkan penangkapan ganjaran yang berkesan dengan risiko terkawal. Penambahbaikan lanjut melalui penyesuaian parameter dan integrasi pembelajaran mesin akan meningkatkan ketahanan.
/*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)