Xu hướng theo chiến lược dựa trên các dải Bollinger

Tác giả:ChaoZhang, Ngày: 2024-02-22 17:21:42
Tags:

img

Tổng quan

Chiến lược này là một chiến lược theo xu hướng dựa trên chỉ số Bollinger Bands. Nó sử dụng các dải trên và dưới của Bollinger Bands để xác định hướng xu hướng và thực hiện theo dõi xu hướng. Nó đi dài khi giá vượt qua dải trên và đi ngắn khi giá vượt qua dải dưới. Stop loss được đặt ở dải giữa của Bollinger Bands.

Chiến lược logic

Chiến lược này sử dụng chỉ số Bollinger Bands để xác định xu hướng giá. Bollinger Bands bao gồm ba đường - dải trên, dải dưới và dải giữa. Dải trên đại diện cho giới hạn tăng giá, dải dưới đại diện cho giới hạn giảm giá và dải giữa đại diện cho đường trung bình động của giá. Khi giá vượt qua dải trên từ dải dưới, nó báo hiệu sự bắt đầu xu hướng tăng. Khi giá vượt qua dải dưới từ dải trên, nó báo hiệu sự bắt đầu xu hướng giảm.

Cụ thể, các điều kiện đầu vào dài của chiến lược này là: 1) giá đóng của nến hiện tại cao hơn dải trên; 2) giá đóng của nến trước thấp hơn dải trên. Điều này báo hiệu rằng giá đã phá vỡ và xu hướng tăng bắt đầu, vì vậy đi dài là thích hợp. Các điều kiện đầu vào ngắn tương tự: giá đóng của nến hiện tại nằm dưới dải dưới và giá đóng của nến trước nằm trên dải dưới, cho thấy rằng đi ngắn đã sẵn sàng.

Cơ chế dừng lỗ của chiến lược này đặt mức dừng lỗ trên dải giữa, cho cả các vị trí dài và ngắn. Bởi vì dải giữa đại diện cho đường giá trung bình động, nó là một mức chính để đánh giá sự thay đổi xu hướng.

Điểm mạnh của chiến lược

Sức mạnh lớn nhất của chiến lược này là khả năng xác định rõ xu hướng giá, sử dụng các tính năng của chỉ số Bollinger Bands để theo dõi xu hướng, tránh bị sai hướng bởi sự biến động của thị trường.

Ngoài ra, chiến lược này đặt ra các quy tắc nhập cảnh cho cả hai bên dài và ngắn, cho phép giao dịch hai chiều để tối đa hóa sự biến động giá.

Rủi ro chiến lược

Rủi ro chính của chiến lược này nằm trong cấu hình tham số Bollinger Bands. Thời gian trung bình động và kích thước độ lệch chuẩn của Bollinger Bands sẽ ảnh hưởng trực tiếp đến vị trí của các dải trên và dưới. Cài đặt tham số không chính xác có thể dẫn đến tỷ lệ đột phá sai tăng.

Ngoài ra, việc sử dụng dải giữa làm mức dừng lỗ cũng có rủi ro. Khi thị trường trải qua biến động mạnh, giá có thể đột ngột vượt qua dải giữa, kích hoạt dừng lỗ. Sau đó chúng ta cần đánh giá xem có sự đảo ngược xu hướng lớn hay không, và mở rộng phạm vi dừng lỗ theo yêu cầu.

Cải thiện chiến lược

Chiến lược này có thể được cải thiện từ các khía cạnh sau:

  1. Tối ưu hóa các thông số Bollinger Bands. Tích lũy dữ liệu thực nghiệm với các khoảng thời gian khác nhau để tìm ra sự kết hợp thông số tốt nhất.

  2. Thêm các quy tắc kiểm tra khối lượng để tránh đột phá sai trong các kịch bản khối lượng giao dịch nhẹ. Có thể đặt ngưỡng khối lượng giao dịch cần vượt quá giá trị trung bình gần đây trước khi kích hoạt lệnh.

  3. Cải thiện cơ chế dừng lỗ bằng cách điều chỉnh mức dừng lỗ một cách năng động dựa trên mức độ biến động của thị trường. mở rộng phạm vi dừng lỗ dưới biến động cao và thu hẹp nó dưới biến động thấp.

  4. Kết hợp đánh giá từ nhiều chỉ số như MACD, KDJ để giúp xác định thời gian nhập cảnh, tăng độ chính xác hoạt động.

Tóm lại

Kết luận, đây là một xu hướng thực tế sau chiến lược nói chung. Nó xác định hướng xu hướng bằng cách sử dụng chỉ số Bollinger Bands và kích hoạt các lệnh khi giá vượt qua các dải trên hoặc dưới. Giao dịch hai chiều giúp tối đa hóa việc nắm bắt các biến động giá. Có nhiều chỗ để tối ưu hóa chiến lược thông qua điều chỉnh tham số, tinh chế dừng lỗ vv để có kết quả tốt hơn.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © Valente_F
//@version=4
strategy(title="Strategy: Trend Following Bollinger Bands", shorttitle="Strategy: Trend Following Bollinger Bands", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity)

//Inputs
//Bollinger Bands Parameters
length = input(defval=20, minval=1, title= "Length")
stddev = input(defval=2, minval=0.5, title= "StdDev")

// STRATEGY INPUTS
//Entry and Exit Parameters
checkbox1 = input(true, title="Enable Long Entrys")
checkbox2 = input(true, title="Enable Short Entrys")


//Bollinger Bands Calculation

[middle, upper, lower] = bb(close, length, stddev)

//Long Conditions

bulls1 = close > upper
bulls2 = close[1] < upper[1]
bulls = bulls1 and bulls2

//Short Conditions

bears1 = close < lower
bears2 = close[1] > lower[1]
bears = bears1 and bears2

// Plots of Bollinger Bands
plot(upper, title = "Upper Band", color = color.aqua)//, display = display.none)
plot(middle, title = "MA", color = color.red)//, display = display.none)
plot(lower, title = "Lower Band", color = color.aqua)//, display = display.none)

neutral_color = color.new(color.black, 100)
barcolors = bulls ? color.green : bears ? color.red : neutral_color

//Paint bars with the entry colors
barcolor(barcolors)

//Strategy


//STRATEGY LONG
long_entry = bulls and checkbox1

long_entry_level = high

strategy.entry("Long", true, stop = long_entry_level, when = long_entry)
strategy.cancel("Long", when = not long_entry)

strategy.exit("Stop Long", "Long", stop = middle)

//STRATEGY SHORT
short_entry = bears and checkbox2

short_entry_level = low

strategy.entry("Short", false, stop = short_entry_level, when = short_entry)
strategy.cancel("Short", when = not short_entry)

strategy.exit("Stop Short", "Short", stop = middle)


Thêm nữa