Chiến lược này là một hệ thống giao dịch thích nghi dựa trên Bollinger Bands, quản lý các vị trí bằng cách theo dõi động mối quan hệ giữa giá và các dải. Nó sử dụng một đường trung bình động 20 ngày như dải giữa, 2 độ lệch chuẩn cho chiều rộng kênh, và kết hợp xác nhận đột phá với phân tích thời gian để kích hoạt tín hiệu giao dịch cho phân bổ vốn tối ưu hóa.
Chiến lược áp dụng các nguyên tắc thống kê của Bollinger Bands, kiểm soát biến động giá trong phạm vi phân phối bình thường.
Chiến lược này thiết lập một hệ thống giao dịch hoàn chỉnh thông qua các dải Bollinger và phân tích thời gian, tạo ra sự cân bằng giữa việc theo dõi xu hướng và kiểm soát rủi ro. Mặc dù có chỗ cho tối ưu hóa, triết lý thiết kế tổng thể phù hợp với các nguyên tắc giao dịch định lượng cốt lõi và có giá trị ứng dụng thực tế. Các nhà đầu tư được khuyên nên thực hiện điều chỉnh thích hợp dựa trên khả năng dung nạp rủi ro và quy mô vốn trong giao dịch trực tiếp.
/*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")