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:
tính giá trung bình của một chu kỳ nhất định làm đường chuẩn;
Tính toán chênh lệch tiêu chuẩn giá và nhân số nhân cho phạm vi;
Số trung bình ± phạm vi tạo thành đường ray lên xuống của băng tần Brin;
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.
/*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")