Strategi perdagangan berdasarkan Bollinger Bands dan nisbah anjakan Fibonacci


Tarikh penciptaan: 2023-09-27 16:52:05 Akhirnya diubah suai: 2023-09-27 16:52:05
Salin: 0 Bilangan klik: 1125
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan Bollinger Bands untuk menentukan saluran harga, dan digabungkan dengan Fibonacci Retracement Ratio untuk menilai tahap sokongan dan rintangan, untuk mewujudkan perdagangan automatik. Strategi ini mengenal pasti penembusan Bollinger Bands dan mengesan titik retracement, untuk membeli atau menjual manipulasi di kawasan penarikan balik dengan kebarangkalian tinggi.

Prinsip Strategi

  1. Pengiraan rel tengah, atas dan bawah dalam tali pinggang Brin

    • Menggunakan SMA dan ATR untuk mengira garis tengah, atas dan bawah

    • Laluan Brin meluas dan menyempit mengikut turun naik pasaran

  2. Pengiraan Fibonacci Retracement berbanding harga setara

    • Mengambil ATR dan Fibonacci sebagai perkadaran penarikan balik

    • Berbilang Fibonacci retracement berdasarkan orbit tengah

  3. Harga pemantauan menembusi Brin untuk naik dan turun

    • Berfikir untuk melakukan lebih banyak apabila harga naik

    • Pertimbangkan untuk mengambil masa lapang apabila harga menembusi landasan bawah

  4. Tetapkan penangguhan masuk dan penangguhan kerugian berhampiran titik balik Fibonacci

    • Harga kembali ke Fibonacci apabila masuk ke kawasan penarikan balik

    • Tetapkan halangan berhenti di sisi lain zon penarikan balik

Analisis kelebihan

  • Brin Belt dapat mengenal pasti pergerakan dan trend pasaran

  • Fibonacci mundur daripada menguasai kawasan sokongan dan rintangan utama

  • Gabungan isyarat penunjuk membolehkan perdagangan automatik

  • Kembali ke permainan untuk meningkatkan kadar kejayaan dan mengelakkan kesukaran

  • Boleh disesuaikan dengan parameter untuk pelbagai kitaran dan varieti

Analisis risiko

  • Penembusan Brin mungkin palsu dan menghasilkan isyarat yang salah

  • Tidak pasti bila harga akan kembali ke Fibonacci

  • Pemilihan yang tidak tepat untuk titik henti boleh meningkatkan kerugian

  • “Ketika anda melihat perubahan dalam jumlah yang kecil, anda akan melihat perubahan yang besar dan kecil.

  • Strategi gagal apabila parameter tidak munasabah atau arah pasaran berterusan

  • Mengoptimumkan logik penghakiman Brinband, lebih banyak pertimbangan untuk penunjuk kuantitatif, penyesuaian zon penarikan balik secara dinamik dan sebagainya

Arah pengoptimuman

  • Optimumkan parameter Brin untuk menilai kecenderungan dan rintangan sokongan

  • Penambahan kapasiti untuk menilai keberkesanan isyarat penembusan

  • Pembelajaran mesin membantu menentukan kebarangkalian panggilan balik

  • Sinyal perdagangan yang disahkan dengan lebih banyak petunjuk teknikal

  • Parameter yang munasabah dipilih berdasarkan ciri-ciri varieti dan tempoh dagangan

  • Menyesuaikan intensiti zon penarikan balik dengan masa yang sesuai untuk menyesuaikan diri dengan perubahan

ringkaskan

Strategi ini mengintegrasikan kelebihan indikator Brin Belt dan Fibonacci Retracement Ratio, mengenal pasti arah trend dan masuk ke titik penyesuaian probabiliti tinggi. Ia dapat mengurangkan kesan peningkatan risiko dengan cara mengoptimumkan parameter, menambah indikator pengesahan, menyesuaikan zon penarikan balik secara dinamik, dan sebagainya. Ruang strategi masih boleh diperluaskan, seperti menambah indikator tenaga kuantitatif, pembelajaran mesin dan lain-lain untuk meningkatkan kesan, dan semakin matang dalam pengoptimuman berterusan.

Kod sumber strategi
/*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)