Chiến lược giao dịch theo xu hướng Bollinger Bands


Ngày tạo: 2023-11-23 10:48:58 sửa đổi lần cuối: 2023-11-23 10:57:10
sao chép: 3 Số nhấp chuột: 551
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch theo xu hướng Bollinger Bands

Tổng quan

Chiến lược này dựa trên các chỉ số Brin để xác định xu hướng của thị trường và thực hiện hoạt động ngược khi xu hướng chuyển hướng. Trong thị trường đa đầu, khi giá giảm xuống đường Brin; trong thị trường trống, khi giá phá vỡ đường Brin. Trong khi đó, chiến lược cũng đặt đường trung bình di chuyển làm tiêu chuẩn phán đoán xu hướng dài hạn, giúp chiến lược ổn định hơn.

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

Chiến lược này sử dụng đường trung đạo, đường trên và đường dưới để đánh giá xu hướng thị trường. Đường trung đạo của đường trung đạo là n chu kỳ, đường trung đạo và đường dưới của đường trung đạo + 2,3 lần chênh lệch tiêu chuẩn và đường trung đạo - 2,3 lần chênh lệch tiêu chuẩn. Khi giá phá vỡ đường xuống, nó cho thấy hiện tại đang ở thị trường đa đầu; Khi giá phá vỡ đường trên, nó cho thấy hiện tại đang ở thị trường đầu trống.

Ngoài ra, các chiến lược cũng thiết lập 200 chu kỳ đơn giản di chuyển trung bình SMA như là một chỉ số định hướng dài hạn. Chỉ khi chỉ số Brin và chỉ số SMA đồng hướng, tín hiệu giao dịch sẽ được phát ra. Điều này có thể lọc một số phá vỡ giả.

Các giao dịch cụ thể sẽ diễn ra như sau:

  1. Xác định xu hướng đa đầu: Brin mang theo đường ray lên>sma, đường ray giữa>sma, đường ray dưới>=sma
  2. Xác định xu hướng không đầu: Brin trên đường ray
  3. Các điều kiện khác nhau: xu hướng đa đầu + giá giảm xuống đường của Brin
  4. Điều kiện ra sân: Giá vượt Brin và lên đường ray
  5. Điều kiện: xu hướng không đầu + giá vượt qua đường ray của Brin
  6. Điều kiện xuất phát: Giá giảm xuống đường trung tâm của Brin hoặc giá quay trở lại trên đường trung bình di chuyển 230 chu kỳ

Phân tích lợi thế

  1. Sử dụng Brinband để đánh giá xu hướng và nắm bắt cơ hội đột phá
  2. Thêm bộ lọc trung bình di chuyển dài hạn để giảm nguy cơ phá vỡ giả
  3. Làm nhiều việc rảnh rỗi, logic rõ ràng, dễ hiểu
  4. Điều kiện ra sân trống được thiết lập nghiêm ngặt hơn, có thể giảm tổn thất

Phân tích rủi ro

  1. Blink có thể có điểm trượt lớn khi tín hiệu giao dịch với đường trung bình di chuyển
  2. Điều kiện không đầu quá nghiêm ngặt có thể dẫn đến lợi nhuận không đầu thấp
  3. Thiết lập tham số không đúng có thể dẫn đến tần suất giao dịch quá cao hoặc quá thấp
  4. Chiến lược đột phá có thể dẫn đến tổn thất lớn

Phương pháp cải tiến:

  1. Tối ưu hóa các tham số Brin và giảm tần suất giao dịch
  2. Thiết lập điểm dừng để tránh thua lỗ lớn
  3. Thêm bộ lọc cho khối lượng giao dịch để đảm bảo hiệu quả đột phá

Tóm tắt

Chiến lược này nói chung khá đơn giản và dễ hiểu, sử dụng xu hướng xác định dải Brin, thực hiện hoạt động ngược tại các điểm biến. Đồng thời thêm các chỉ số phán đoán dài hạn, có thể lọc hiệu quả các tín hiệu.

Mã nguồn chiến lược
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
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/
// © Aayonga

//@version=5
strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "长度")
bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差")
basis=ta.ema(close,bollL)
dev=bollmult*ta.stdev(close,bollL)
upper=basis+dev
lower=basis-dev
smaL=input.int(200,minval=1,step=1,title = "趋势分界线")
sma=ta.sma(close,smaL)
//多头趋势
longT=upper>sma and basis>sma and lower>=sma
//空头趋势
shortT=upper<sma and basis<sma and lower<=sma

//入场位
longE=ta.crossover(close,lower)
shortE=ta.crossover(close,upper)
//出场位

longEXIT=ta.crossover(high,upper) 
shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) 

if longT and longE
    strategy.entry("多",strategy.long)

if longEXIT
    strategy.close("多",comment = "多出场")

if shortE and shortT
    strategy.entry("空",strategy.short)

if shortEXIT
    strategy.close("空",comment = "空出场")