
Chiến lược thoát khỏi xu hướng đảo ngược là một hệ thống giao dịch định lượng dựa trên giá phá vỡ các mức cao và thấp trong lịch sử, kết hợp với tín hiệu đảo ngược xu hướng như một cơ chế thoát ra. Chiến lược này được thực hiện bằng cách theo dõi giá cao nhất và giá thấp nhất trong ba ngày giao dịch qua, thực hiện các hoạt động vào khi giá vượt qua các mức quan trọng này và thoát khỏi khi có tín hiệu phá vỡ ngược.
Các nguyên tắc cốt lõi của chiến lược này dựa trên hai khái niệm quan trọng là phá vỡ giá và đảo ngược xu hướng:
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
longEntry = close > high3
shortEntry = close < low3
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
longExit = shortEntry
shortExit = longEntry
Đơn giản nhưng hiệu quảChiến lược này dựa trên các nguyên tắc hành vi giá đơn giản, dễ hiểu và dễ thực hiện, không cần các chỉ số kỹ thuật phức tạp, giảm nguy cơ phù hợp quá mức.
Khả năng thích nghiBằng cách sử dụng các điểm cao thấp trong ba ngày gần đây để tham khảo, chiến lược có thể thích ứng với các môi trường thị trường khác nhau và tình trạng biến động, không quá nhạy cảm và không quá chậm chạp.
Các quy tắc rõ ràngChiến lược cung cấp các tín hiệu nhập cảnh và điều kiện thoát rõ ràng, loại bỏ các phán đoán chủ quan trong quá trình giao dịch, giúp duy trì kỷ luật giao dịch.
Bảo vệ xu hướng ngược: Sử dụng xu hướng đảo ngược như một tín hiệu thoát, có thể nhanh chóng thanh toán khi thị trường thay đổi hướng, kiểm soát hiệu quả rút lui và bảo vệ lợi nhuận đã đạt được.
Quản lý tài chính đầy đủChiến lược quản lý vị trí bằng cách sử dụng tỷ lệ phần trăm giá trị ròng, một phương pháp linh hoạt hơn so với số lượng cố định, có thể tự động điều chỉnh quy mô giao dịch theo quy mô tài khoản.
Phản hồi trực quan rõ ràngThông qua các dấu hiệu mua, bán và rút ra trên biểu đồ chiến lược, nhà giao dịch có thể hiểu trực quan về hoạt động của chiến lược, giúp phân tích phản hồi và tối ưu hóa chiến lược.
Nguy cơ đột phá giả mạoPhản ứng: Thị trường có thể bị phá vỡ giả trong thời gian ngắn, khiến chiến lược phải đối mặt với chuyển động ngược nhanh chóng sau khi vào, tạo ra chi phí giao dịch và tổn thất không cần thiết. Giải pháp: Có thể thêm bộ lọc xác nhận, chẳng hạn như xác nhận khối lượng giao dịch hoặc chờ đợi giá ở vị trí phá vỡ trong một thời gian nhất định.
Rủi ro giao dịch thường xuyênGiải pháp: Bạn có thể kéo dài chu kỳ tham chiếu hoặc thêm thời gian nguội để giảm tần suất giao dịch.
Thiếu cơ chế ngăn chặn thiệt hạiPhương pháp hiện tại chỉ dựa vào tín hiệu xu hướng ngược để thoát ra, có thể dẫn đến tổn thất lớn trong điều kiện thị trường khắc nghiệt. Giải pháp: Thêm một hệ thống dừng lỗ cố định hoặc điều chỉnh tỷ lệ biến động như một sự bảo vệ bổ sung.
Rủi ro lỗ hổng thị trườngGiải pháp: Đặt điểm trượt tối đa cho phép hoặc sử dụng lệnh dừng lỗ.
Xu hướng thiếu môi trườngPhương pháp giải quyết: Thêm bộ lọc trạng thái thị trường, chỉ áp dụng chiến lược trong môi trường thị trường có xu hướng rõ ràng.
Tối ưu hóa chu kỳ tham chiếuGhi chú: Chu kỳ tham chiếu ba ngày cố định hiện tại có thể không phù hợp với tất cả các điều kiện thị trường. Đề xuất thực hiện điều chỉnh động của chu kỳ tham chiếu, tự động điều chỉnh độ dài chu kỳ đột phá theo tỷ lệ biến động của thị trường, sử dụng chu kỳ dài hơn trong thị trường biến động cao và chu kỳ ngắn hơn trong thị trường biến động thấp.
Thêm điều kiện lọcCác điều kiện lọc bổ sung có thể được giới thiệu để cải thiện chất lượng tín hiệu, ví dụ:
Cải thiện cơ chế rút luiNgoài việc đảo ngược xu hướng, có thể thêm một số cơ chế rút lui:
Tiếp tục quản lý vị tríChiến lược hiện tại sử dụng giao dịch tỷ lệ 100% giá trị ròng, có thể xem xét điều chỉnh kích thước vị trí tùy theo cường độ tín hiệu hoặc tình hình thị trường, tăng vị trí trên tín hiệu xác định hơn và giảm vị trí trên tín hiệu yếu hơn.
Thêm bộ lọc khung thời gian: xác định xu hướng trên một chu kỳ thời gian dài, chỉ giao dịch theo hướng phù hợp với xu hướng dài hạn để giảm nguy cơ giao dịch ngược. Phân tích nhiều khung thời gian này có thể làm tăng đáng kể tỷ lệ thành công của chiến lược.
Chiến lược thoát khỏi xu hướng ngược 3 ngày là một hệ thống giao dịch kết hợp các nguyên tắc theo dõi xu hướng và phá vỡ giá, xây dựng tín hiệu vào bằng cách giám sát giá cao và thấp trong thời gian ngắn, đồng thời sử dụng phá vỡ ngược như một cơ chế thoát. Ưu điểm của chiến lược là khái niệm đơn giản, quy tắc rõ ràng, thích nghi, phù hợp cho người mới bắt đầu và các nhà giao dịch có kinh nghiệm. Tuy nhiên, chiến lược cũng có các vấn đề như rủi ro phá vỡ giả, rủi ro giao dịch quá mức và thiếu cơ chế ngăn chặn lỗ.
/*backtest
start: 2025-03-30 00:00:00
end: 2025-04-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("3-Day Breakout Strategy with Trend Change Exit", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Calculate 3-day high/low (excluding current bar) ===
high3 = ta.highest(high[1], 3)
low3 = ta.lowest(low[1], 3)
// === Entry conditions ===
longEntry = close > high3
shortEntry = close < low3
// === Track position state ===
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
wasLong = nz(strategy.position_size[1] > 0)
wasShort = nz(strategy.position_size[1] < 0)
// === Exit conditions ===
// Exit on trend reversal (new signal)
longExit = shortEntry // Exit long position when a short signal occurs
shortExit = longEntry // Exit short position when a long signal occurs
// === Execute entries ===
buySignal = longEntry and not isLong and not isShort
sellSignal = shortEntry and not isLong and not isShort
if (buySignal)
strategy.entry("Long", strategy.long)
if (sellSignal)
strategy.entry("Short", strategy.short)
// === Execute exits on opposite signal (trend change) ===
if (isLong and longExit)
strategy.close("Long")
if (isShort and shortExit)
strategy.close("Short")
// === Exit markers (on actual exit bar only) ===
exitLongSignal = wasLong and not isLong
exitShortSignal = wasShort and not isShort
// === Plot entry signals only on the entry bar ===
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Plot exit signals only on the exit bar ===
plotshape(exitLongSignal, title="Exit Long", location=location.abovebar, color=color.orange, style=shape.labeldown, text="EXIT")
plotshape(exitShortSignal, title="Exit Short", location=location.belowbar, color=color.orange, style=shape.labelup, text="EXIT")