Strategi ini menghasilkan isyarat dagangan berdasarkan persilangan antara Bollinger Bands dan penunjuk Hull. Ia menjadi panjang apabila penunjuk Hull melintasi di atas band bawah Bollinger Bands, dan menjadi pendek apabila penunjuk Hull melintasi di bawah band atas Bollinger Bands. Strategi ini menggabungkan strategi pecah Bollinger Bands dan strategi trend mengikuti penunjuk Hull untuk memanfaatkan kelebihan kedua-duanya.
Strategi ini terutamanya menggunakan persilangan antara Bollinger Bands dan penunjuk Hull untuk menjana isyarat perdagangan.
Bollinger Bands mengandungi tiga garis: garisan tengah, garisan atas dan garisan bawah. Garis tengah adalah purata bergerak N-hari, sementara garis atas dan bawah adalah garisan tengah ± penyimpangan standard. Jika harga menembusi garisan atas, ia menunjukkan peluang terobosan; jika harga menembusi garisan bawah, ia menunjukkan peluang panggilan balik.
Indikator Hull adalah penunjuk trend-mengikut. Ia menggunakan perbezaan antara dua purata bergerak bertingkat dari tempoh yang berbeza untuk menentukan trend semasa. Jika purata bergerak tempoh pendek di atas satu tempoh panjang, ia menunjukkan trend menaik, dan sebaliknya.
Strategi ini menggabungkan kekuatan kedua-dua penunjuk. Apabila penunjuk Hull melintasi di atas band bawah Bollinger Bands, ia dianggap bahawa harga saham mungkin memasuki trend menaik, jadi pergi panjang. Apabila penunjuk Hull melintasi di bawah band atas, ia dianggap bahawa harga saham mungkin memasuki panggilan balik ke bawah, jadi pergi pendek.
Menggabungkan kekuatan Bollinger Bands dan penunjuk Hull untuk menjadikan isyarat perdagangan lebih boleh dipercayai.
Menggunakan penunjuk Hull untuk menentukan arah trend dan Bollinger Bands untuk menentukan tahap sokongan / rintangan, menjana isyarat silang untuk meningkatkan keuntungan.
Parameter kedua-dua penunjuk boleh dioptimumkan untuk stok kitaran yang berbeza untuk memperluaskan penerapan.
Strategi ini boleh menghasilkan lebih banyak isyarat palsu semasa pergerakan yang terhad, menyebabkan kerugian. Parameter boleh dioptimumkan atau penapis boleh ditambah untuk mengurangkan isyarat palsu.
Harga boleh turun naik secara ganas, menyebabkan kedua-dua penunjuk mengeluarkan isyarat pada masa yang sama. Memastikan urutan isyarat untuk mengelakkan penghakiman isyarat silang yang salah. Pertimbangkan untuk menambah stop loss untuk kawalan kerugian.
Strategi menetapkan saiz kedudukan kepada 100% secara langsung. Dalam penggunaan sebenar, saiz kedudukan perlu diselaraskan untuk mengelakkan kerugian yang diperbesar kerana pembukaan kedudukan penuh.
Uji dan optimumkan parameter kedua-dua penunjuk untuk menyesuaikan diri dengan lebih banyak kitaran stok.
Tambah penapis seperti jumlah dagangan atau turun naik untuk mengelakkan isyarat yang salah semasa penyatuan.
Mengoptimumkan strategi stop loss dengan menetapkan perintah stop loss atau stop limit.
Sesuaikan peraturan ukuran kedudukan dengan menambah keadaan masuk semula untuk mengelakkan pembesaran kehilangan.
Strategi ini menggabungkan strategi breakout Bollinger Bands dan strategi trend-mengikuti penunjuk Hull dengan menggunakan isyarat silang antara mereka untuk mencapai kedua-dua trend-mengikuti dan kesan breakout. Strategi ini mempunyai daya adaptasi yang kuat untuk saham jangka menengah dan pendek tanpa perubahan asas yang besar. Tetapi parameter, saiz kedudukan, strategi stop loss masih memerlukan pengoptimuman semasa penggunaan sebenar untuk menjadikan strategi lebih mantap.
/*backtest start: 2023-11-30 00:00:00 end: 2023-12-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Strategy Hull Bollinger", shorttitle="Hull bollinger",overlay=true, calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false) n=input(title="period",defval=3) n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red i = input(1) PP = close[i] length1 = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=10, step=0.2) basis = sma(src, length1) dev = mult * stdev(src, length1) upper = basis + dev lower = basis - dev TP = input(500) * 10 SL = input(500) * 10 TS = input(20) * 10 TO = input(10) * 10 CQ = 100 TPP = (TP > 0) ? TP : na SLP = (SL > 0) ? SL : na TSP = (TS > 0) ? TS : na TOP = (TO > 0) ? TO : na longCondition = crossover(n1,lower) if (longCondition) strategy.entry("Long", strategy.long) shortCondition = crossunder(n1,upper) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP) strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)