Chiến lược đột phá phạm vi xu hướng


Ngày tạo: 2023-11-16 16:24:12 sửa đổi lần cuối: 2023-11-16 16:24:12
sao chép: 0 Số nhấp chuột: 717
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá phạm vi xu hướng

Tổng quan

Chiến lược này là một chiến lược theo dõi xu hướng dựa trên Brinband. Nó sử dụng Brinband để tính toán giá cổ phiếu trên và xuống, kết hợp với các thực thể K-line để xác định hướng xu hướng, thực hiện hoạt động kéo dài / ngắn khi phá vỡ khu vực xu hướng. Chiến lược này phù hợp với cổ phiếu có xu hướng rõ ràng, có thể nắm bắt cơ hội lợi nhuận đường dài giữa xu hướng.

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

Chiến lược này sử dụng các vùng giá trên, giữa và dưới của dải Brin để xác định phạm vi giá. Dải Brin trên và dưới của hai dải bao gồm giá, đường giữa là đường trung bình, và băng thông thay đổi theo mức độ biến động của giá.

Sau khi đánh giá hướng của xu hướng, chiến lược này cũng sẽ kết hợp với hướng của thực thể đường K để xác nhận. Nếu hướng của thực thể đường K phù hợp với hướng của xu hướng, nếu có một đường dương trong xu hướng đa đầu, hãy thực hiện thao tác mở cửa. Nếu hướng của thực thể đường K trái ngược với hướng của xu hướng, nếu có một đường âm trong xu hướng đa đầu, hãy bỏ qua tín hiệu này. Mục đích của thiết kế này là để tránh rủi ro liên quan đến phá vỡ giả.

Cụ thể, các quy tắc tạo tín hiệu giao dịch của chiến lược là:

  1. Tính toán hai đường trên và dưới và đường giữa của vòng Brin để xác định khoảng cách giữa giá cả

  2. Đánh giá là tín hiệu đa đầu khi giá từ dưới lên vượt qua BRI

  3. Nếu đường K là đường dương, xác nhận xu hướng, hãy mở nhiều vị trí

  4. Khi giá từ trên xuống phá vỡ đường giảm của Bollinger Bands, đánh giá là tín hiệu đầu không

  5. Nếu đường K là đường âm, xác nhận xu hướng, hãy mở một vị trí trống

  6. Stop loss hoặc stop loss với tỷ lệ phần trăm nhất định

Bằng cách đột phá vào trong khu vực bến đai, và kết hợp với hướng thực thể đường K để xác nhận lần thứ hai, bạn có thể xác định hiệu quả hướng xu hướng, có được ENTRY tốt hơn ở đầu xu hướng và có được lối ra lợi nhuận ở giữa xu hướng.

Phân tích lợi thế

Đây là một chiến lược theo dõi xu hướng điển hình với một số ưu điểm:

  1. Sử dụng Brinband có khả năng thích ứng, có thể điều chỉnh động khoảng đột phá, phù hợp với các cổ phiếu có tỷ lệ biến động khác nhau

  2. Kết hợp với thực thể K-line để xác nhận lần thứ hai, có thể lọc các đột phá giả.

  3. Sử dụng các vị trí trung và dài, giảm tần số giao dịch, có lợi cho việc giảm chi phí giao dịch và mất điểm trượt

  4. Theo dõi xu hướng trong giai đoạn trung bình, tránh những biến động ngắn hạn, có thể đạt được tỷ lệ lợi nhuận rủi ro tốt hơn

  5. Chương trình thực hiện định lượng, kết quả phản hồi tốt, hiệu suất ổ cứng ổn định

  6. Concept chiến lược: rõ ràng, dễ hiểu, có thể mở rộng

Bằng cách đánh giá xu hướng theo đường dây Brin, đường K xác nhận thời gian nhập cảnh, có thể nắm bắt hiệu quả cơ hội lợi nhuận do ưu thế số lượng đường dài trung bình. Đây là một chiến lược có tính thực tế mạnh mẽ.

Phân tích rủi ro

Tuy nhiên, chiến lược này cũng có một số rủi ro cần lưu ý:

  1. Rủi ro đột phá thất bại. Sự đột phá của Brin là một sự kiện xác suất, và có thể có một đột phá giả.

  2. Rủi ro đảo ngược. Xu hướng đường dài trung bình cũng có thể bị đảo ngược và cần thiết phải đặt điểm dừng hợp lý để kiểm soát rủi ro.

  3. Rủi ro tối ưu hóa tham số. Các tham số và điểm dừng của Brin cần được tối ưu hóa hợp lý cho các cổ phiếu khác nhau, nếu không sẽ ảnh hưởng đến sự ổn định của chiến lược.

  4. Rủi ro quá tối ưu hóa. Các tham số quá tối ưu hóa đối với dữ liệu lịch sử có thể dẫn đến sự phù hợp với đường cong chiến lược.

  5. Rủi ro thực hiện trên ổ cứng. Có thể có một số sai lệch trong quá trình phản hồi với thực hiện trên ổ cứng.

Những rủi ro trên có thể được cải thiện bằng cách:

  1. Tối ưu hóa tham số băng tần của Bryn để chọn băng thông phù hợp.

  2. Các yếu tố khác cũng xác nhận xu hướng, như khối lượng giao dịch.

  3. Động thái điều chỉnh điểm dừng để ngăn chặn sự đảo ngược quá lớn gây ra tổn thất.

  4. Sử dụng các phương pháp như phân tích tiến bộ để tránh quá phù hợp.

  5. Tối ưu hóa giao thức đặt hàng, kiểm soát hiệu quả thực hiện ổ cứng.

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

Chiến lược này có thể được cải thiện thêm bằng cách:

  1. Kết hợp với nhiều chỉ số xác nhận xu hướng, như KDJ, MACD, v.v., tăng độ chính xác tín hiệu.

  2. Sử dụng các phương pháp học máy để tối ưu hóa động các tham số trong vòng vòng Boolean thay vì tham số cố định.

  3. Cài đặt các vùng mua và bán gần điểm phá vỡ để tạo ra tín hiệu giao dịch chính xác hơn.

  4. Tối ưu hóa chiến lược dừng lỗ theo dõi động hoặc dừng một phần.

  5. Tiếp theo, các nhà đầu tư có thể sử dụng các phương pháp này để cải thiện khả năng quản lý vốn, điều chỉnh vị thế và kiểm soát rủi ro đơn lẻ.

  6. Kết hợp các phương thức thực hiện cao cấp để cải thiện hiệu quả của ổ cứng, giảm chi phí giao dịch và điểm trượt.

  7. Tăng khả năng phán đoán về môi trường thị trường, đóng chiến lược trong một môi trường cụ thể, kiểm soát rủi ro.

Bằng cách giới thiệu nhiều chỉ số kỹ thuật và phương tiện tối ưu hóa, bạn có thể tăng cường sự ổn định và lợi nhuận của chiến lược, để có được hiệu quả phản hồi và thực tế tốt hơn.

Tóm tắt

Chiến lược này là một chiến lược theo dõi xu hướng điển hình, ý tưởng cốt lõi là sử dụng vùng Brin như là một khu vực động, để xác định hướng xu hướng giá. Kết hợp với thực thể K-line để xác nhận lần thứ hai, vào điểm đột phá của vùng Brin trong xu hướng ban đầu, mục tiêu là lợi thế định lượng trong xu hướng trung bình.

Chiến lược này có những lợi thế như sử dụng xu hướng phán đoán theo dây Brin, tín hiệu xác nhận K-line, giảm tần suất giao dịch và thực hiện theo chương trình. Ngoài ra, có một số rủi ro đột phá giả, khó khăn trong việc tối ưu hóa lỗ hổng, sai lệch hiệu quả thực tế.

Nhìn chung, chiến lược này là một chiến lược theo dõi xu hướng điển hình, ý tưởng cốt lõi của nó rõ ràng, dễ thực hiện và có khả năng thực hiện mạnh mẽ. Với sự tối ưu hóa liên tục và kiểm soát rủi ro nghiêm ngặt, nó có thể trở thành một mô-đun chiến lược hiệu quả trong hệ thống giao dịch định lượng.

Mã nguồn chiến lược
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = sma(body, 100)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)