Strategi perdagangan kuantitatif jangka sederhana dan panjang berdasarkan Bollinger Bands


Tarikh penciptaan: 2023-09-14 20:09:13 Akhirnya diubah suai: 2023-09-14 20:09:13
Salin: 2 Bilangan klik: 679
1
fokus pada
1617
Pengikut

Artikel ini akan menerangkan secara terperinci mengenai satu strategi untuk melakukan perdagangan kuantitatif jangka panjang menggunakan indikator Brin. Strategi ini membentuk isyarat perdagangan melalui penembusan harga berdasarkan Brin.

I. Prinsip-prinsip Strategi

Strategi ini menggunakan indikator-indikator berikut:

  1. Mengira nilai purata harga untuk satu kitaran sebagai garis asas;

  2. Mengambil perbezaan piawaian harga dan menggandakan dengan kelipatan sebagai julat;

  3. Nombor pusat ± merangkumi jalur atas dan bawah di Burin;

  4. Ia membentuk isyarat perdagangan apabila harga menembusi Bollinger Bands dan turun.

Logik urus niaga adalah seperti berikut:

Apabila harga menembusi Bollinger Bands, ia membentuk isyarat untuk membeli dan mengambil kedudukan yang lebih tinggi.

Apabila harga menembusi Bollinger Bands, ia membentuk isyarat menjual dan meletakkan posisi kosong.

Ia juga menetapkan peratusan stop loss untuk mengunci keuntungan.

Secara keseluruhan, strategi ini menangkap trend garis tengah dan panjang dengan menilai harga menembusi Bollinger Bands dan turun ke bawah.

Kedua, kelebihan strategi

Kelebihan utama strategi ini ialah:

Pertama, Brinband dapat melihat tanda-tanda penembusan dan pembalikan harga, dan menangkap trend jangka panjang.

Kedua, penempatan stop loss adalah mudah dan boleh dikawal, yang membantu pengurusan wang yang aktif;

Akhirnya, peraturan strategi adalah ringkas dan jelas, mudah untuk dilaksanakan dan dioptimumkan.

Ketiga, potensi risiko

Tetapi kita juga perlu berhati-hati dengan risiko berikut:

Pertama, jarak di dalam Burin perlu dioptimumkan dengan tepat untuk menghasilkan isyarat yang stabil.

Kedua, terlalu kecil boleh menyebabkan keuntungan yang tidak mencukupi; terlalu besar boleh menyebabkan risiko yang terlalu besar;

Akhirnya, kita perlu mengelakkan transaksi yang terlalu kerap.

Empat isi, ringkasan

Artikel ini menerangkan secara terperinci strategi perdagangan kuantitatif jangka menengah dan jangka panjang yang menggunakan indikator Brin untuk mengikuti trend. Strategi ini dapat menangkap trend harga jangka menengah dan jangka panjang secara beransur-ansur, tetapi memerlukan pengoptimuman jarak parameter dan tahap stop loss. Secara keseluruhan, ia adalah strategi pemantauan trend yang lebih mudah dan intuitif.

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