
Chiến lược này là một hệ thống giao dịch tự điều chỉnh dựa trên kênh Brin để quản lý vị trí bằng cách theo dõi động giá và mối quan hệ với Brin. Chiến lược sử dụng đường trung bình 20 ngày làm đường trung bình, chênh lệch tiêu chuẩn gấp đôi là chiều rộng của kênh, kết hợp với xác nhận đột phá và phán đoán chu kỳ thời gian để kích hoạt tín hiệu giao dịch, để thực hiện phân bố tối ưu hóa vốn.
Chiến lược sử dụng các nguyên tắc thống kê của kênh Brin để kiểm soát biến động giá trong phạm vi phân bố chính xác. Các chiến lược bao gồm:
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh thông qua phân tích chu kỳ thời gian và kênh Brinh, cân bằng giữa theo dõi xu hướng và kiểm soát rủi ro. Mặc dù có một số không gian tối ưu hóa, nhưng khái niệm thiết kế tổng thể phù hợp với nguyên tắc cốt lõi của giao dịch định lượng và có giá trị ứng dụng thực tế.
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
// 設定布林通道
length = 20
source = close
mult = 2.0
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
// 畫出布林通道
plot(upper, color=color.red, linewidth=1)
plot(basis, color=color.blue, linewidth=1)
plot(lower, color=color.green, linewidth=1)
// 設定買入條件:突破布林通道高點5%或持續1小時在高點上方
breakout_level = upper * 1.01
hour_breakout = ta.change(time("60")) == 1 and close > upper
buy_condition = (close > breakout_level or hour_breakout)
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=0.5)
// 設定賣出條件:第一次回測中線、跌破低點5%或回升中線
sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0
sell_50_condition = close < lower * 0.95
// 賣出10%現貨
if (sell_10_condition)
strategy.close("Buy", qty=0.1)
// 賣出50%現貨
if (sell_50_condition)
strategy.close("Buy", qty=0.5)
// 監控買入與賣出信號
plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal")
plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")