Strategi ini mengenal pasti saluran harga menggunakan Bollinger Bands dan menentukan tahap sokongan / rintangan berdasarkan nisbah retracement Fibonacci untuk perdagangan algoritma.
Pengiraan jalur tengah, atas dan bawah Bollinger Bands
Band tengah adalah SMA, band atas/bawah adalah SMA +/- kelipatan ATR
Bollinger Bands berkembang dan mengecil berdasarkan turun naik pasaran
Mengira tahap retracement Fibonacci berdasarkan nisbah
Nisbah retracement adalah kelipatan ATR * nisbah Fibonacci
Tahap Fib berganda dikira berdasarkan jalur tengah
Pemantauan harga keluar dari Bollinger Bands
Pertimbangkan untuk pergi lama apabila harga pecah di atas barisan atas
Pertimbangkan untuk pergi pendek apabila harga pecah di bawah band bawah
Memasuki perdagangan dan menetapkan SL/TP di sekitar zon retracement Fib
Masukkan perdagangan apabila harga menarik kembali ke zon Fib
Tetapkan stop loss dan mengambil keuntungan di sisi lain zon
Bollinger Bands dengan jelas mengenal pasti julat dan trend turun naik pasaran
Nisbah Fibonacci memahami tahap sokongan dan rintangan utama
Menggabungkan penunjuk membolehkan perdagangan algoritma
Pullback entri meningkatkan kebarangkalian kejayaan dan mengelakkan mengejar
Parameter yang boleh diselaraskan menyesuaikan diri dengan tempoh dan produk yang berbeza
Penembusan Bollinger Bands mungkin isyarat palsu
Sukar untuk meramalkan dengan tepat apabila harga akan kembali ke tahap Fib
Penempatan stop loss yang tidak betul boleh meningkatkan kerugian
Kepelbagaian penurunan yang tidak mencukupi atau berlebihan mempengaruhi strategi
Parameter yang tidak berkesan atau pasaran trend berterusan boleh membatalkan strategi
Meningkatkan logik Bollinger Bands, mempertimbangkan jumlah, pelarasan zon dinamik, dll.
Mengoptimumkan parameter Bollinger Bands untuk penilaian trend dan S / R yang lebih baik
Tambah penunjuk kelantangan untuk mengesahkan isyarat pecah
Menggunakan pembelajaran mesin untuk ramalan kebarangkalian pulback
Memasukkan lebih banyak penunjuk teknikal untuk pengesahan isyarat
Pilih parameter yang munasabah berdasarkan ciri produk dan sesi dagangan
Sesuaikan kekuatan zon pulback tepat pada masanya untuk perubahan turun naik
Strategi ini menggabungkan kekuatan Bollinger Bands dan retracement Fibonacci untuk mengenal pasti trend dan memasuki tahap pullback kemungkinan tinggi. Risiko dapat dikurangkan dan hasil dapat ditingkatkan dengan pengoptimuman parameter, pengesahan isyarat tambahan, pelarasan zon dinamik, dll. Terdapat ruang untuk pengembangan dengan menggabungkan model jumlah, pembelajaran mesin, dll. Strategi ini boleh disempurnakan melalui pengoptimuman berterusan.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle="BBands Fibo", title="Bollinger Bands Fibonacci Ratios", overlay=true) length = input(20, minval=1, type=input.integer, title="Length") src = input(close, title="Source") offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) fibo1 = input(defval=1.618, title="Fibonacci Ratio 1") fibo2 = input(defval=2.618, title="Fibonacci Ratio 2") fibo3 = input(defval=4.236, title="Fibonacci Ratio 3") fiboBuyReverse = input(false, title = "Use Reverse Buy?") fiboBuy = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Buy") fiboSellReverse = input(false, title = "Use Reverse Sell?") fiboSell = input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Sell") sma = sma(src, length) atr = atr(length) ratio1 = atr * fibo1 ratio2 = atr * fibo2 ratio3 = atr * fibo3 upper3 = sma + ratio3 upper2 = sma + ratio2 upper1 = sma + ratio1 lower1 = sma - ratio1 lower2 = sma - ratio2 lower3 = sma - ratio3 plot(sma, style=0, title="Basis", color=color.orange, linewidth=2, offset = offset) upp3 = plot(upper3, transp=90, title="Upper 3", color=color.teal, offset = offset) upp2 = plot(upper2, transp=60, title="Upper 2", color=color.teal, offset = offset) upp1 = plot(upper1, transp=30, title="Upper 1", color=color.teal, offset = offset) low1 = plot(lower1, transp=30, title="Lower 1", color=color.teal, offset = offset) low2 = plot(lower2, transp=60, title="Lower 2", color=color.teal, offset = offset) low3 = plot(lower3, transp=90, title="Lower 3", color=color.teal, offset = offset) fill(upp3, low3, title = "Background", color=color.new(color.teal, 95)) targetBuy = fiboBuy == "Fibo 1" ? upper1 : fiboBuy == "Fibo 2" ? upper2 : upper3 targetBuy := fiboBuyReverse == false ? targetBuy : fiboBuy == "Fibo 1" ? lower1 : fiboBuy == "Fibo 2" ? lower2 : lower3 buy = low < targetBuy and high > targetBuy targetSell = fiboSell == "Fibo 1" ? lower1 : fiboSell == "Fibo 2" ? lower2 : lower3 targetSell := fiboSellReverse == false ? targetSell : fiboSell == "Fibo 1" ? upper1 : fiboSell == "Fibo 2" ? upper2 : upper3 sell = low < targetSell and high > targetSell strategy.entry("Buy", true, when = buy) strategy.entry("Sell", false, when = sell)