Chiến lược giao dịch định lượng trung và dài hạn dựa trên Bollinger Bands


Ngày tạo: 2023-09-14 20:09:13 sửa đổi lần cuối: 2023-09-14 20:09:13
sao chép: 2 Số nhấp chuột: 679
1
tập trung vào
1617
Người theo dõi

Trong bài viết này, chúng tôi sẽ giới thiệu một chiến lược sử dụng chỉ số Brin để giao dịch định lượng trung và dài hạn. Chiến lược này tạo ra tín hiệu giao dịch thông qua việc phá vỡ giá bằng cách đánh giá Brin.

A. Nguyên tắc chiến lược

Chiến lược này sử dụng các chỉ số BRI sau:

  1. tính giá trung bình của một chu kỳ nhất định làm đường chuẩn;

  2. Tính toán chênh lệch tiêu chuẩn giá và nhân số nhân cho phạm vi;

  3. Số trung bình ± phạm vi tạo thành đường ray lên xuống của băng tần Brin;

  4. Một tín hiệu giao dịch được tạo ra khi giá vượt qua Bollinger Bands và đi xuống.

Các giao dịch cụ thể sẽ diễn ra như sau:

Một lệnh mua được tạo ra khi giá phá vỡ đường mòn của Bollinger Bands;

Khi giá phá vỡ Bollinger Bands, nó tạo ra một tín hiệu bán để làm cho vị trí trống.

Và thiết lập điểm dừng lỗ theo tỷ lệ phần trăm để khóa lỗ.

Nhìn chung, chiến lược này bắt kịp xu hướng đường dài trung bình bằng cách đánh giá giá phá vỡ đường Brin và đi xuống đường.

2 - Lợi thế chiến lược

Những ưu điểm chính của chiến lược này là:

Đầu tiên, Brines có thể đánh giá các dấu hiệu phá vỡ và đảo ngược, và nắm bắt các xu hướng trung và dài hạn.

Thứ hai, các thiết lập dừng lỗ trực tiếp và có thể kiểm soát được giúp quản lý tài chính tích cực;

Cuối cùng, các quy tắc chiến lược đơn giản, rõ ràng, dễ thực hiện và tối ưu hóa.

Ba, rủi ro tiềm ẩn

Tuy nhiên, chúng ta cũng cần lưu ý những rủi ro sau:

Đầu tiên, các vùng của băng tần cần được tối ưu hóa chính xác để tạo ra một tín hiệu ổn định.

Thứ hai, dừng lỗ quá nhỏ có thể mang lại lợi nhuận không đủ; dừng lỗ quá lớn có thể mang lại rủi ro quá lớn;

Cuối cùng, cần tránh quá nhiều giao dịch.

Bốn nội dung, tóm tắt

Bài viết này mô tả chi tiết về một chiến lược giao dịch định lượng trung và dài hạn sử dụng chỉ số Brin để theo dõi xu hướng. Chiến lược này có thể bắt được xu hướng trung và dài hạn của giá, nhưng cần tối ưu hóa khoảng cách tham số và mức dừng lỗ. Nói chung, nó là một chiến lược theo dõi xu hướng đơn giản và trực quan hơn.

Mã nguồn chiến lược
/*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")