Chiến lược dao động đột phá bên cạnh

Tác giả:ChaoZhang, Ngày: 2024-01-03 11:29:24
Tags:

img

Tổng quan

Chiến lược dao động đột phá bên cạnh là một chiến lược giao dịch định lượng sử dụng Bollinger Bands và chỉ số MACD để xác định tín hiệu mua và bán. Chiến lược này chủ yếu phù hợp với các sản phẩm dao động như tương lai chỉ số chứng khoán, ngoại hối và tiền kỹ thuật số. Ý tưởng chính của chiến lược là phát hành tín hiệu mua và bán khi giá vượt qua các dải trên và dưới của Bollinger Bands.

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

Chiến lược dao động đột phá theo chiều ngang sử dụng Bollinger Bands để đánh giá phạm vi biến động giá. Bollinger Bands bao gồm dải giữa, dải trên và dải dưới. Dải giữa là đường trung bình di chuyển đơn giản n ngày, và dải trên và dải dưới là k lần phạm vi thực sự n ngày trên và dưới dải giữa. Khi giá vượt qua dải dưới, người ta tin rằng thị trường có thể đảo ngược, tín hiệu mua được phát hành. Khi giá vượt qua dải trên, người ta tin rằng thị trường có thể đảo ngược, tín hiệu bán được phát hành.

Ngoài việc sử dụng Bollinger Bands để xác định các điểm giao dịch, chiến lược này cũng kết hợp chỉ số MACD để xác định tín hiệu giao dịch. Chỉ số MACD bao gồm đường DIF, đường DEA và đường MACD. DIF là sự khác biệt giữa đường trung bình di chuyển theo hàm số 12 ngày và đường trung bình di chuyển theo hàm số 26 ngày, đường DEA là đường trung bình di chuyển theo hàm số 9 ngày, và đường MACD là sự khác biệt giữa đường DIF và đường DEA. Một tín hiệu mua được tạo ra khi đường MACD chuyển từ âm sang dương, và một tín hiệu bán được tạo ra khi nó chuyển từ dương sang âm.

Kết hợp các Dải Bollinger và chỉ số MACD, các quy tắc tạo tín hiệu giao dịch cho Chiến lược dao động đột phá bên cạnh là: tín hiệu mua được phát hành khi giá vượt qua dải dưới của Kênh Bollinger; Một tín hiệu bán được phát hành khi giá vượt qua dải trên của Kênh Bollinger. Đóng vị trí khi giá vượt qua các đường ray kênh một lần nữa.

Phân tích lợi thế

Chiến lược dao động đột phá bên cạnh có những lợi thế sau:

  1. Chiến lược đơn giản, rõ ràng và dễ hiểu và thực hiện, thích hợp cho người mới bắt đầu học;
  2. Sử dụng Bollinger Bands để đánh giá phạm vi biến động giá, và kết hợp chỉ số MACD để lọc tín hiệu, có thể xác định hiệu quả các cơ hội đảo ngược;
  3. Hoạt động song phương có thể liên tục nắm bắt các cơ hội dao động trên thị trường, giảm các tín hiệu dương tính sai và tăng lợi nhuận;
  4. Chiến lược có ít tham số và dễ dàng tối ưu hóa với hoạt động ổn định;
  5. Chiến lược có một mức độ chắc chắn và hoạt động tốt trên nhiều thị trường khác nhau.

Phân tích rủi ro

Mặc dù chiến lược dao động đột phá bên cạnh có nhiều lợi thế, nhưng vẫn có một số rủi ro trong giao dịch thực tế, chủ yếu được phản ánh trong các khía cạnh sau:

  1. Sự thay đổi trong xu hướng dao động có thể gây ra sự thất bại của chiến lược. Nếu giá nhanh chóng quay trở lại kênh sau khi phá vỡ kênh, có nguy cơ bị mắc kẹt;
  2. Các thiết lập tham số kênh Bollinger không chính xác cũng sẽ ảnh hưởng đến hiệu suất chiến lược. Nếu băng thông được đặt quá lớn hoặc quá nhỏ, nó sẽ ảnh hưởng đến hiệu ứng chụp của các điểm giao dịch;
  3. Các thông số chỉ số MACD không chính xác có thể làm cho tín hiệu đi trước hoặc chậm lại, do đó ảnh hưởng đến mức độ lợi nhuận của chiến lược;
  4. Chiến lược không xem xét các yếu tố quản lý rủi ro và có nguy cơ mất mát lớn hơn.

Để giảm rủi ro trên, chúng ta có thể tối ưu hóa từ các khía cạnh sau:

  1. Bao gồm các chỉ số xu hướng để tránh các tín hiệu khi giá chỉ là giảm giá ngắn hạn;
  2. Kiểm tra và tối ưu hóa các thông số của Bollinger Channels và chỉ số MACD để chọn các thông số tối ưu;
  3. Bao gồm các chiến lược dừng lỗ để kiểm soát các lỗ đơn;
  4. Tăng module quản lý vị trí để kiểm soát rủi ro.

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

Chiến lược dao động đột phá bên cạnh cũng có chỗ cho việc tối ưu hóa hơn nữa, chủ yếu có thể được thực hiện theo các hướng sau:

  1. Thêm nhiều chỉ số để xác định tín hiệu giao dịch. Ví dụ: thêm đánh giá khối lượng, phát ra tín hiệu tại các điểm mà giá và khối lượng đồng thời được khuếch đại; hoặc thêm các chỉ số RSI để phát ra tín hiệu trong các khu vực mua quá mức và bán quá mức;
  2. Tăng cơ chế dừng lỗ tự động. Việc sử dụng stop loss di chuyển hoặc stop loss phần trăm có thể kiểm soát hiệu quả các lỗ đơn;
  3. Tăng cơ chế quản lý vị trí. Ví dụ, quản lý vị trí cố định, quản lý martingale, vv để phân bổ hợp lý các quỹ cho mỗi vị trí mở;
  4. Điều chỉnh tham số. Thông qua kiểm tra ngược với dữ liệu lịch sử hơn, tìm sự kết hợp tối ưu của các tham số cho Bollinger Bands và chỉ số MACD để cải thiện lợi nhuận của chiến lược.
  5. Phân tích tiến bộ, tối ưu hóa các thông số trong thời gian thực để hiệu suất chiến lược ổn định hơn.

Tóm lại

Chiến lược dao động đột phá bên cạnh tích hợp các dải Bollinger và chỉ số MACD để xác định thời gian vào và ra, và có thể nắm bắt hiệu quả các cơ hội đảo ngược trong xu hướng dao động bằng cách sử dụng các bước đột phá giá ở cả hai bên. Chiến lược này đơn giản, linh hoạt trong lựa chọn tham số và hoạt động tốt trên các sản phẩm khác nhau. Tuy nhiên, vẫn có một số rủi ro đối với chiến lược đòi hỏi phải thử nghiệm và tối ưu hóa thêm. Chúng tôi đã đề xuất một số ý tưởng tối ưu hóa. Với sự cải thiện liên tục, chúng tôi tin rằng hiệu suất của chiến lược này sẽ ngày càng tốt hơn. Nói chung, Chiến lược dao động đột phá bên cạnh là một chiến lược định lượng được khuyến cáo.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Seitwärtsdoppelpenetration", overlay=false)

//Keltner Channel
source = open

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(4.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

//Entry
buyEntry = cross(lower,source)
sellEntry = cross(upper,source)

if (cross(lower,source))
    strategy.entry("buyEntry", strategy.long, comment="buyEntry")

if (cross(source, upper))
    strategy.entry("sellEntry", strategy.short, comment="sellEntry")

buyExit = cross(source, upper)
sellExit = cross(lower,source)

strategy.close("buyEntry", buyExit)
strategy.close("sellEntry", sellExit)


Thêm nữa