
Chiến lược này thực hiện chiến lược giao dịch tự động mua thấp và bán cao theo hướng xu hướng bằng cách tính toán đường lên, đường xuống trên Brin, kết hợp với hướng của đường trung bình di chuyển ngắn hạn. Ý tưởng của nó là theo dõi xu hướng đường dài của cổ phiếu, mua thấp khi điều chỉnh đường ngắn và tạo vị trí nhiều đầu khi mua quá mức.
Chiến lược này chủ yếu thực hiện các giao dịch tự động thông qua các phần sau:
Tính lên xuống của đường băng Bryn: Tính n chu kỳ tiêu chuẩn của khoảng cách gần, để có được đường băng Bryn trên và dưới.
Xác định xu hướng ngắn hạn dài hạn: tính SMA dài hạn 300 chu kỳ và ngắn hạn 20 chu kỳ, đánh giá xu hướng tổng thể của cổ phiếu và xu hướng giai đoạn hiện tại.
Tín hiệu mua: khi gần phá vỡ đường mòn của Bollinger và SMA dài ở phía trên, SMA ngắn hạn bắt đầu tăng lên, được coi là mức thấp trong khoảng, tạo ra tín hiệu mua.
Tín hiệu bán: Khi một mức giá gần phá vỡ đường dây Bollinger và SMA dài ở phía dưới, SMA ngắn hạn bắt đầu giảm, được coi là mức cao trong khoảng, tạo ra một tín hiệu bán.
Sử dụng nhóm ủy thác OCO để đảm bảo dừng lỗ và dừng dừng.
Bằng cách thiết kế như vậy, bạn có thể tự động xác định thời gian mua và bán trong thời gian ngắn hạn khi phù hợp với xu hướng lớn và vượt quá điểm cao, để thực hiện chiến lược giao dịch theo xu hướng.
Chiến lược này có một số ưu điểm:
Nó tự động nhận ra xu hướng, không cần sự phán đoán của con người, làm giảm độ khó của hoạt động.
Tạo cơ hội mua trong thời gian ngắn để tránh bỏ lỡ các điểm thấp.
Xác định một cách hệ thống thời gian bán khi vượt mức mua cao và thu lợi nhuận kịp thời.
Trong khi đó, thiết lập điểm dừng và dừng để kiểm soát rủi ro hiệu quả.
Có thể lọc hầu hết các tín hiệu không hiệu quả, tăng tỷ lệ chiến thắng.
Có thể theo dõi xu hướng, điều chỉnh vị trí kịp thời.
Các ý tưởng chiến lược rõ ràng, dễ hiểu và dễ dàng để tối ưu hóa sau đó.
Chiến lược này cũng có một số rủi ro cần lưu ý:
Lưu ý rằng các cổ phiếu được chọn không đúng cách có thể dẫn đến xu hướng không thể theo dõi được.
Các tham số được thiết lập không chính xác, có thể dẫn đến tần suất giao dịch quá cao hoặc thời gian giao dịch bị bỏ lỡ.
Sự kiện bất ngờ đã làm đảo ngược xu hướng và có thể dẫn đến sự gia tăng tổn thất.
Điểm dừng lỗ được đặt quá gần, có thể dẫn đến dừng lỗ quá thường xuyên.
Lượng giao dịch không đủ, có thể dẫn đến việc không hoàn thành giao dịch.
Chu kỳ phản hồi ngắn có thể dẫn đến quá phù hợp.
Các biện pháp đối phó bao gồm: chọn cổ phiếu có lưu lượng tốt và xu hướng rõ ràng; điều chỉnh các tham số để đạt được hiệu quả tối ưu; chú ý đến việc phòng ngừa sự đảo ngược tin tức quan trọng; nới lỏng điểm dừng lỗ một cách thích hợp; đánh giá khối lượng giao dịch thực tế; mở rộng sự ổn định của thử nghiệm chu kỳ đo lường lại.
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Xác định các tham số tối ưu hóa, chẳng hạn như chu kỳ băng tần Brin, số nhân chênh lệch chuẩn, chu kỳ trung bình di chuyển, và tìm các tham số kết hợp tốt nhất.
Thêm các phương thức dừng lỗ, chẳng hạn như dừng theo dõi, dừng trung bình, để kiểm soát rủi ro hơn nữa.
Tăng quản lý vị trí, điều chỉnh kích thước vị trí theo các điểm quan trọng, quản lý hiệu quả sử dụng vốn.
Kết hợp với chỉ số khối lượng giao dịch, tránh phá vỡ không hiệu quả ở mức thấp.
Kết hợp các chỉ số tương đối mạnh để xác định xu hướng mua và bán.
Thêm các thuật toán học máy, tự động tối ưu hóa tham số và đánh giá chiến lược.
Kết hợp các chiến lược khác để tạo ra một tập hợp nhiều chiến lược, tăng sự ổn định.
Những cải tiến này sẽ giúp tăng cường hiệu quả và tính ổn định của chiến lược.
Chiến lược này có thể được nâng cao hơn nữa bằng cách tối ưu hóa các tham số, cải thiện phương thức dừng lỗ, quản lý vị trí, v.v. Chiến lược này có tiềm năng ứng dụng lớn trong thực tế. Chiến lược này cung cấp một khuôn khổ tốt cho giao dịch tự động hóa xu hướng.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Buy Dip Sell Rip Strategy", overlay=true)
source = close
length = input(15, minval=1)
mult = input(1.25, minval=0.001, maxval=50)
longMAPeriod = input(300, minval=5)
shortMAPeriod = input(20, minval=5)
basis = sma(source, length)
longMA = sma(source, longMAPeriod)
prevLongMA = sma(close[1],longMAPeriod)
shortMA = sma(source, shortMAPeriod)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)
if (source > lower and source[1] < lower)
if (longMA < source and shortMA>source)
strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
else
strategy.close("BBandSE")
else
strategy.cancel(id="BBandLE")
if (source > upper and source[1] < upper)
if (longMA > source and shortMA < source)
strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
else
strategy.close("BBandLE")
else
strategy.cancel(id="BBandSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)