Strategi Dagangan Kuantitatif Jangka Menengah dan Panjang Berdasarkan Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2023-09-14 20:09:13
Tag:

Artikel ini menerangkan secara terperinci strategi perdagangan kuantitatif jangka menengah dan panjang menggunakan Bollinger Bands.

I. Logik Strategi

Strategi ini terutamanya menggunakan penunjuk Bollinger Bands berikut:

  1. Mengira harga purata bergerak sebagai garis asas dalam tempoh tertentu.

  2. Mengira penyesuaian standard harga dan mengalikannya dengan faktor sebagai julat.

  3. Julat ± median membina jalur atas dan bawah.

  4. Harga menembusi jalur menghasilkan isyarat perdagangan.

Logik perdagangan khusus adalah:

Apabila harga memecahkan jalur bawah, isyarat beli dihasilkan untuk mengambil kedudukan panjang.

Apabila harga memecahkan band atas, isyarat jual dihasilkan untuk mengambil kedudukan pendek.

Ambil keuntungan dan hentikan kerugian ditetapkan pada peratusan tetap untuk mengunci keuntungan dan kerugian.

Secara keseluruhan, strategi ini mengenal pasti trend jangka menengah dan panjang dengan mengesan penembusan harga Bollinger Bands.

II. Kelebihan Strategi

Kelebihan utama strategi ini ialah:

Pertama, Bollinger Bands dapat mengenal pasti harga dan pembalikan harga untuk menangkap trend jangka menengah dan panjang.

Kedua, penentuan stop loss langsung dan mengambil keuntungan membantu dalam pengurusan wang yang bijak.

Akhirnya, peraturan yang mudah dan jelas menjadikan strategi ini mudah dilaksanakan dan dioptimumkan.

III. Risiko yang berpotensi

Walau bagaimanapun, risiko berikut harus diperhatikan:

Pertama, pita perlu dioptimumkan dengan tepat untuk isyarat yang stabil.

Kedua, stop loss menetapkan risiko yang terlalu kecil tidak mencukupi keuntungan, manakala terlalu besar meningkatkan risiko.

Akhirnya, perdagangan yang terlalu kerap perlu dicegah.

IV. Ringkasan

Ringkasnya, artikel ini telah menerangkan strategi perdagangan kuantitatif jangka menengah dan panjang menggunakan Bollinger Bands untuk mengikuti trend. Ia boleh mengesan trend harga dalam jangka sederhana hingga panjang, tetapi memerlukan penyesuaian selang band dan tahap stop loss. Secara keseluruhan ia menyediakan pendekatan trend yang agak mudah dan intuitif.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//------------------------------------
//
// 『おすすめストラテジーSS1』
// 『BitMEX XBTUSD 30分足向け中長期用ストラテジー』
//  本番用ストラテジーファイル
//
//
//
//------------------------------------
//【説明】
// 『おすすめストラテジーSS1』のPineスクリプトです。
//------------------------------------
 
//@version=3
// strategy(title = "『おすすめストラテジーSS1』", shorttitle="Strategy1", initial_capital=1200000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.05, overlay=true)
 
 
//------------------------------------
//
//ストラテジーロジック
//
//------------------------------------
 
 
source = close
 
length = input(51, minval = 1, title = "移動平均")
mult = input(3.01, minval = 0.001,step=0.01, maxval = 10, title = "マルチ")
 
Rikaku = input(14.2, minval = 0.1, step=0.1,maxval = 100, title = "利確(%)")
Songiri = input(99, minval = 0.1, maxval = 100, title = "損切(%)")
 
base = sma(source, length)
range = mult * stdev(source, length)
 
upper = base + range
lower = base - range
 
short_cond = crossover(source, lower)
long_cond = crossunder(source, upper)
 
 
cl = 0.0
cl := na(cl[1]) ? sma(source, length) : (cl[1] * (length - 1) + source) / length
 
plot(cl, color=black)
 
up_plot = plot(upper, color=blue)
low_plot = plot(lower, color=red)
 
fill(up_plot, low_plot,color=#009900)
 
//------------------------------------
//
//オーダー処理
//
//------------------------------------
 
 
if (long_cond)
 
	strategy.entry("Long_Entry", strategy.long, oca_name="BollingerBands", comment="Long")
 
	//BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。
	//strategy.exit("LE Exit", "BBandLE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close")
	strategy.exit("Long_Exit", "Long_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="LongClose")
 
if (short_cond)
 
	strategy.entry("Short_Entry", strategy.short, oca_name="BollingerBands",  comment="Short")
 
    //BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。
    //strategy.exit("SE Exit", "BBandSE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close")
    strategy.exit("Short_Exit", "Short_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="ShortClose")

Lebih lanjut