Strategi ini menghasilkan sinyal perdagangan berdasarkan crossover antara Bollinger Bands dan indikator Hull. Ini akan panjang ketika indikator Hull melintasi di atas band bawah Bollinger Bands, dan akan pendek ketika indikator Hull melintasi di bawah band atas Bollinger Bands. Strategi ini menggabungkan strategi breakout Bollinger Bands dan strategi mengikuti tren indikator Hull untuk memanfaatkan keuntungan dari keduanya.
Strategi ini terutama menggunakan crossover antara Bollinger Bands dan indikator Hull untuk menghasilkan sinyal perdagangan.
Bollinger Bands terdiri dari tiga garis: garis tengah, garis atas dan garis bawah. Garis tengah adalah rata-rata bergerak N-hari, sementara garis atas dan bawah adalah garis tengah ± penyimpangan standar. Jika harga menembus garis atas, itu menunjukkan peluang terobosan; jika harga menembus garis bawah, itu menunjukkan peluang callback.
Indikator Hull adalah indikator yang mengikuti tren. Indikator ini menggunakan perbedaan antara dua rata-rata bergerak tertimbang dari periode yang berbeda untuk menentukan tren saat ini. Jika rata-rata bergerak periode pendek lebih tinggi dari periode panjang, indikator ini menunjukkan tren naik, dan sebaliknya.
Strategi ini menggabungkan kekuatan dari kedua indikator. Ketika indikator Hull melintasi di atas band bawah Bollinger Bands, dianggap bahwa harga saham dapat memasuki tren naik, jadi pergi panjang. Ketika indikator Hull melintasi di bawah band atas, dianggap bahwa harga saham dapat memasuki callback ke bawah, jadi pergi pendek.
Menggabungkan kekuatan Bollinger Bands dan indikator Hull untuk membuat sinyal perdagangan lebih andal.
Menggunakan indikator Hull untuk menentukan arah tren dan Bollinger Bands untuk menentukan level support/resistance, menghasilkan sinyal crossover untuk meningkatkan profitabilitas.
Parameter dari kedua indikator dapat dioptimalkan untuk saham dari siklus yang berbeda untuk memperluas penerapan.
Strategi ini dapat menghasilkan lebih banyak sinyal palsu selama gerakan yang terbatas pada rentang, menyebabkan kerugian. Parameter dapat dioptimalkan atau filter dapat ditambahkan untuk mengurangi sinyal palsu.
Harga dapat berfluktuasi dengan keras, menyebabkan kedua indikator mengeluarkan sinyal secara bersamaan. Memastikan urutan sinyal untuk menghindari penilaian sinyal silang yang salah. Pertimbangkan untuk menambahkan stop loss untuk kehilangan kontrol.
Strategi menetapkan ukuran posisi ke 100% secara langsung. Dalam penyebaran yang sebenarnya, ukuran posisi perlu disesuaikan untuk menghindari kerugian yang diperbesar karena pembukaan posisi penuh.
Uji dan optimalkan parameter dari kedua indikator untuk beradaptasi dengan lebih banyak siklus saham.
Tambahkan filter seperti volume perdagangan atau volatilitas untuk menghindari sinyal yang salah selama konsolidasi.
Mengoptimalkan strategi stop loss dengan mengatur trailing stop loss atau stop limit order.
Sesuaikan aturan ukuran posisi dengan menambahkan kondisi masuk kembali untuk menghindari pembesaran kerugian.
Strategi ini menggabungkan strategi breakout Bollinger Bands dan strategi trend-following dari indikator Hull dengan menggunakan sinyal crossover di antara mereka untuk mencapai efek trend-following dan breakout. Strategi ini memiliki kemampuan beradaptasi yang kuat untuk saham jangka menengah dan pendek mengingat tidak ada perubahan fundamental yang besar.
/*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)