Chiến lược Bollinger Dynamic Breakout

Tác giả:ChaoZhang, Ngày: 2024-01-26 14:52:59
Tags:

img

Tổng quan

Chiến lược này là một chiến lược giao dịch đột phá dựa trên chỉ số Bollinger Bands. Nó tính toán các đường ray trên và dưới của Bollinger Bands và kết hợp chúng với các ngưỡng mua và bán có thể điều chỉnh động để tự động hóa giao dịch BTCUSDT trên Binance.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là Bollinger Bands. Bollinger Bands bao gồm trung bình động N ngày và các dải trên và dưới được vẽ ở mức độ lệch chuẩn trên và dưới nó. Dải Bollinger trong chiến lược này có độ dài 20 ngày và nhân lệch lệch chuẩn 2. Khi giá tiếp cận hoặc chạm vào đường ray dưới của Bollinger Bands, nó được coi là đã bán quá mức và chiến lược sẽ mở một vị trí dài. Khi giá tiếp cận hoặc chạm vào đường ray trên, nó được coi là đã mua quá mức và chiến lược sẽ đóng các vị trí dài.

Ngoài chỉ số Bollinger Bands, chiến lược này cũng giới thiệu hai thông số có thể điều chỉnh: buy threshold và sell threshold. Buy threshold mặc định ở 58 điểm dưới dải dưới và phục vụ như là điều kiện nhập cảnh để mở các vị trí dài. Sell threshold mặc định ở 470 điểm trên dải dưới và phục vụ như là điều kiện ra khỏi cho các vị trí đóng. Những ngưỡng này có thể được điều chỉnh năng động dựa trên điều kiện thị trường thực tế và kết quả backtest để làm cho chiến lược linh hoạt hơn.

Khi điều kiện mua được đáp ứng, chiến lược sẽ mở một vị trí dài bằng cách sử dụng 10% vốn chủ sở hữu tài khoản. Sau khi mở vị trí dài, nếu giá tăng đến mức dừng lỗ (-125%), các vị trí sẽ được đóng bằng lệnh dừng lỗ. Khi giá tăng để kích hoạt ngưỡng bán, chiến lược sẽ chọn đóng tất cả các vị trí để thu lợi nhuận.

Phân tích lợi thế

Những lợi thế chính của chiến lược này bao gồm:

  1. Sử dụng Bollinger Bands có thể nắm bắt các cơ hội khi giá lệch bất thường từ các dải và lợi nhuận từ sự đảo ngược
  2. Đưa ra các ngưỡng mua và bán có thể điều chỉnh tối ưu hóa các điểm vào và ra
  3. Lấy kích thước vị trí một phần kiểm soát rủi ro
  4. Thiết lập điều kiện dừng lỗ tránh mất mát thêm
  5. Kiểm tra ngược với khoảng thời gian 5 phút có thể nắm bắt các cơ hội giao dịch ngắn hạn kịp thời

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Bollinger Bands không phải là 100% đáng tin cậy, giá có thể dao động thấp hơn trong một thời gian dài trước khi giảm lại
  2. Cài đặt ngưỡng không chính xác có thể khiến các điểm nhập hoặc xuất tốt nhất bị bỏ lỡ
  3. Đặt dừng lỗ quá lỏng lẻo có thể không dừng lỗ kịp thời, hoặc quá chặt có thể gây ra dừng lỗ quá nhạy cảm
  4. Chọn thời gian kiểm tra ngược không đúng có thể lấy một số lợi nhuận thỉnh thoảng như thu nhập ổn định

Các biện pháp đối phó:

  1. Kết hợp nhiều chỉ số hơn để đánh giá điều kiện thị trường và tránh các tín hiệu sai của Bollinger Bands
  2. Kiểm tra và tối ưu hóa các thông số ngưỡng để tìm kết hợp tối ưu
  3. Kiểm tra và tối ưu hóa các điều kiện dừng lỗ để tìm sự cân bằng
  4. Đưa ra thời gian kiểm tra hậu quả dài hơn để kiểm tra tính ổn định của chiến lược

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:

  1. Hãy thử kết hợp các chỉ số khác như KD, RSI để thiết lập các quy tắc nhập cảnh nghiêm ngặt hơn, tránh nhập quá sớm hoặc quá muộn
  2. Kiểm tra các kết hợp khác nhau của các tham số Bollinger Bands để tối ưu hóa chiều dài dải và nhân lệ lệ chuẩn
  3. Tối ưu hóa ngưỡng mua và bán để cải thiện tỷ lệ lợi nhuận
  4. Cố gắng áp dụng tỷ lệ dừng lỗ dựa trên ATR để phù hợp với biến động thị trường
  5. Tối ưu hóa quy mô vị trí, ví dụ như xếp hình kim tự tháp phù hợp các vị trí khi có lợi nhuận để kiểm soát rủi ro mất mát duy nhất

Tóm lại

Tóm lại, đây là một chiến lược đột phá tổng thể đơn giản và thực tế. Nó sử dụng Bollinger Bands để xác định các cơ hội đảo ngược và thiết lập ngưỡng năng động cho việc vào và ra. Trong khi đó, kích thước vị trí hợp lý và điều kiện dừng lỗ được sử dụng để kiểm soát rủi ro. Sau khi tối ưu hóa một số thông số chính, chiến lược này có thể mang lại lợi nhuận tương đối ổn định. Nó phù hợp với giao dịch thuật toán và cũng có thể phục vụ như một công cụ phụ trợ cho việc chọn cổ phiếu hoặc đánh giá tâm lý thị trường. Nói chung, chiến lược này có tính thực tế và khả năng mở rộng mạnh mẽ.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuperDS_BTC

//@version=5
strategy("布林通道策略多5min", overlay=true) 

// 布林通道计算
length = input(20, title="布林通道周期")
mult = input(2.0, title="标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// 计算买入数量:每次检查仓位的大小 
// 每次买入使用总资金的10%
position_size = strategy.equity * 10 / close 

// 定義可調整的閾值
buy_threshold = input(58, title="買入閾值")
exit_threshold = input(470, title="賣出閾值")

// 买入条件:当现价低于布林通道的下限减去 buy_threshold
buy_condition = close < lower - buy_threshold

// 卖出条件和结清仓位条件
exit_condition = close > lower + exit_threshold

// 买入逻辑
if buy_condition
    strategy.entry("BuyLong", strategy.long, qty=position_size, comment="LongBTC")

// 卖出逻辑
if exit_condition
    strategy.close("BuyLong")

// 止损逻辑
stop_loss_percent = -1.25 //止损百分比为-125%
if strategy.position_size > 0
    position_profit_percent = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
    if position_profit_percent <= stop_loss_percent
        strategy.close("BuyLong")

Thêm nữa