Strategi penyeberangan antara Bollinger Bands dan Indikator Hull

Penulis:ChaoZhang, Tanggal: 2023-12-08 11:58:07
Tag:

img

Ringkasan

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.

Prinsip-prinsip

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.

Keuntungan

  1. Menggabungkan kekuatan Bollinger Bands dan indikator Hull untuk membuat sinyal perdagangan lebih andal.

  2. Menggunakan indikator Hull untuk menentukan arah tren dan Bollinger Bands untuk menentukan level support/resistance, menghasilkan sinyal crossover untuk meningkatkan profitabilitas.

  3. Parameter dari kedua indikator dapat dioptimalkan untuk saham dari siklus yang berbeda untuk memperluas penerapan.

Risiko dan Solusi

  1. 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.

  2. 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.

  3. 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.

Arahan Optimasi

  1. Uji dan optimalkan parameter dari kedua indikator untuk beradaptasi dengan lebih banyak siklus saham.

  2. Tambahkan filter seperti volume perdagangan atau volatilitas untuk menghindari sinyal yang salah selama konsolidasi.

  3. Mengoptimalkan strategi stop loss dengan mengatur trailing stop loss atau stop limit order.

  4. Sesuaikan aturan ukuran posisi dengan menambahkan kondisi masuk kembali untuk menghindari pembesaran kerugian.

Kesimpulan

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)

Lebih banyak