Chiến lược giao dịch đột phá dựa trên chỉ báo Bollinger Bands


Ngày tạo: 2024-01-26 14:52:59 sửa đổi lần cuối: 2024-01-26 14:52:59
sao chép: 0 Số nhấp chuột: 558
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch đột phá dựa trên chỉ báo Bollinger Bands

Tổng quan

Chiến lược này là chiến lược giao dịch đột phá dựa trên chỉ số Borean. Nó thực hiện giao dịch tự động đối với BTCUSDT bằng cách tính toán đường đua lên xuống của Borean và kết hợp mua bán giảm giá với điều chỉnh động.

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

Các chỉ số cốt lõi của chiến lược này là kênh Brin. Cổng Brin được tạo thành bởi một đường trung bình di chuyển N ngày và hai đường chênh lệch tiêu chuẩn trên và dưới. Chiều dài của kênh Brin trong chiến lược này là 20 ngày, số nhân chênh lệch tiêu chuẩn là 2.

Ngoài các chỉ số đường Boolean, chiến lược này cũng giới thiệu hai tham số có thể điều chỉnh: mua thềm và bán thềm. Mua thềm mặc định 58 điểm dưới đường ray Boolean là điều kiện mở nhiều đơn. Bán thềm mặc định 470 điểm trên đường ray Boolean là điều kiện ngang.

Khi điều kiện mua được đáp ứng, chiến lược sẽ sử dụng 10% lợi nhuận tài khoản để mở thêm. Sau khi thực hiện thêm, nếu giá tăng lên đến điều kiện dừng lỗ ((-125%), sẽ dừng lỗ. Khi giá tăng sau khi kích hoạt bán giảm giá, chiến lược sẽ chọn toàn bộ lỗ hổng và thu lại lợi nhuận.

Phân tích lợi thế

Chiến lược này có một số ưu điểm chính:

  1. Sử dụng chỉ số kênh Brin, bạn có thể nắm bắt cơ hội để giá thoát khỏi quỹ đạo bất thường, và thu lợi nhuận khi đảo ngược
  2. Giới thiệu các điều chỉnh động mua bán giảm giá, tối ưu hóa cơ hội ra vào
  3. Có thể kiểm soát rủi ro bằng cách nắm giữ một số vị trí
  4. Thiết lập điều kiện dừng lỗ để tránh tổn thất mở rộng hơn nữa
  5. Dữ liệu phản hồi sử dụng đường 5 phút để nắm bắt các cơ hội giao dịch ngắn hơn

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Chỉ số BRI không chắc chắn 100% và giá có thể giảm trở lại sau một thời gian dài ở mức thấp.
  2. Thiết lập ngưỡng không đúng có thể dẫn đến bỏ lỡ điểm vào hoặc ra sân tốt nhất
  3. Cài đặt dừng quá lỏng lẻo, không thể dừng kịp thời, hoặc quá nghiêm ngặt, dừng quá nhạy cảm
  4. Lựa chọn vòng quay không đúng, có thể coi một số lợi nhuận ngẫu nhiên là thu nhập ổn định

Phản ứng:

  1. Kết hợp nhiều chỉ số hơn để đánh giá tình hình và tránh các tín hiệu sai của kênh Brin
  2. Kiểm tra và tối ưu hóa các tham số giá trị thấp nhất để tìm ra sự kết hợp tham số tốt nhất
  3. Kiểm tra và tối ưu hóa các điều kiện dừng để tìm điểm cân bằng
  4. Sử dụng chu kỳ phản hồi dài hơn để kiểm tra tính ổn định của chiến lược

Hướng tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:

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

Tóm tắt

Chiến lược này nói chung là một chiến lược đột phá đơn giản và thực tế hơn. Nó sử dụng chỉ số đường Boolean để đánh giá cơ hội đảo ngược và thiết lập ngưỡng động để khởi đầu. Đồng thời, chiến lược cũng sử dụng quản lý vị trí hợp lý, điều kiện dừng lỗ để kiểm soát rủi ro. Sau khi tối ưu hóa một vài tham số quan trọng, chiến lược này có thể nhận được lợi nhuận ổn định hơn.

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