
Chiến lược này là một hệ thống giao dịch định lượng dựa trên các đợt phá vỡ theo chu kỳ thời gian, sử dụng sự tương tác của hai chu kỳ thời gian 15 phút và 2 phút để xác định tín hiệu giao dịch. Nó đánh giá thời gian vào thị trường bằng cách quan sát giá đóng cửa của đường K 2 phút đã phá vỡ đỉnh hoặc đáy của đường K 15 phút trước đó, đồng thời thiết lập cơ chế kiểm soát rủi ro chính xác, đảm bảo tỷ lệ rủi ro / lợi nhuận là 1:3, tức là mỗi đơn vị rủi ro có thể nhận được lợi nhuận gấp 3 lần.
Nguyên tắc cốt lõi của chiến lược này là xác định các tín hiệu phá vỡ giá thông qua phân tích đa chu kỳ. Quá trình thực hiện cụ thể như sau:
Đầu tiên là sử dụng chiến lược.request.securityChức năng lấy thông tin về giá cao nhất, giá thấp nhất và thời gian trong chu kỳ 15 phút.
Khi phát hiện một đường K 15 phút mới xuất hiện (thông qua so sánh thời gian của chu kỳ 15 phút hiện tại và trước đó), chiến lược sẽ lưu các điểm cao và thấp của đường K 15 phút trước đã hoàn thành như điểm tham chiếu đột phá.
Đối với nhiều điều kiện, chiến lược đánh giá liệu giá đóng cửa của dòng K 2 phút hiện tại có phá vỡ đỉnh của dòng K 15 phút trước không. Khi điều kiện được đáp ứng, giá vào là giá đóng cửa của dòng K 2 phút, dừng lỗ được đặt ở mức thấp của dòng K 15 phút trước, mục tiêu lợi nhuận được đặt là giá vào cộng với giá trị rủi ro gấp 3 lần (giá rủi ro = giá vào - giá dừng lỗ).
Đối với điều kiện giảm giá, chiến lược đánh giá liệu giá đóng cửa của dòng K 2 phút hiện tại đã phá vỡ mức thấp của dòng K 15 phút trước. Khi điều kiện được đáp ứng, giá vào là giá đóng cửa của dòng K 2 phút, dừng lỗ được thiết lập ở mức cao của dòng K 15 phút trước, mục tiêu lợi nhuận được thiết lập là giá vào giảm giá trị rủi ro 3 lần (giá rủi ro = giá dừng lỗ - giá vào).
Thiết kế này sử dụng khái niệm giao dịch đột phá, đồng thời kết hợp các lợi thế của phân tích đa chu kỳ, sử dụng chu kỳ thời gian lớn hơn (khoảng 15 phút) để xác định mức giá quan trọng, trong khi sử dụng chu kỳ thời gian nhỏ hơn (khoảng 2 phút) để tối ưu hóa thời gian vào, giảm điểm trượt và tăng độ chính xác thực hiện.
Quản lý rủi ro rõ ràngChiến lược được thiết kế với tỷ lệ lợi nhuận rủi ro chính xác là 1: 3, đảm bảo lợi nhuận tiềm năng trên mỗi giao dịch là gấp 3 lần so với tổn thất tiềm năng, điều này cho phép thu được lợi nhuận mong đợi tích cực ngay cả khi tỷ lệ thắng chỉ khoảng 30%.
Tương tác đa chu kỳBằng cách kết hợp hai chu kỳ thời gian 15 phút và 2 phút, chiến lược này có thể nắm bắt các mức giá quan trọng trong chu kỳ thời gian lớn hơn, đồng thời có thể sử dụng các chu kỳ thời gian nhỏ hơn để tối ưu hóa điểm vào và tăng độ chính xác giao dịch.
Tự động thực hiệnChiến lược hoàn toàn tự động, sử dụng các điều kiện nhập cảnh và xuất cảnh rõ ràng, giảm sự nhiễu loạn cảm xúc và phán đoán chủ quan.
Tích hợp quản lý tài chínhChiến lược sử dụng tỷ lệ phần trăm quyền lợi tài khoản để quản lý vị trí ((default_qty_value=10)), đảm bảo rủi ro tăng hoặc giảm theo tỷ lệ của kích thước tài khoản.
Khả năng thích nghi caoCấu trúc mã đơn giản, rõ ràng, dễ mở rộng và sửa đổi, có thể áp dụng cho các thị trường và sản phẩm khác nhau.
Rủi ro của tỷ lệ thắng thấp: Chiến lược có tỷ lệ thắng trung bình khoảng 30%, có nghĩa là hầu hết các giao dịch sẽ dẫn đến tổn thất nhỏ. Đối với một số nhà giao dịch, giao dịch thua lỗ liên tục có thể gây ra căng thẳng tâm lý và từ bỏ chiến lược sớm.
Bỏ qua tín hiệu giả: Giá có thể không tiếp tục di chuyển theo hướng dự kiến sau khi phá vỡ, dẫn đến các đợt dừng lỗ thường xuyên. Phong trào phá vỡ giả là phổ biến hơn, đặc biệt là trong thị trường phân tích ngang hoặc biến động cao.
Rủi ro trượt giáTrong một thị trường chuyển động nhanh, giá thực hiện thực tế có thể khác với giá kế hoạch chiến lược, ảnh hưởng đến việc thực hiện chính xác tỷ lệ lợi nhuận rủi ro.
Rủi ro giao dịch quá mứcVì chiến lược này dựa trên chu kỳ ngắn (khoảng 2 phút) thực hiện giao dịch, có thể dẫn đến giao dịch quá mức, tăng chi phí giao dịch.
Sự phụ thuộc vào môi trường thị trườngChiến lược này hoạt động tốt hơn trong thị trường có xu hướng rõ rệt, và có thể không hiệu quả trong thị trường biến động trong khoảng thời gian.
Giải pháp:
Thêm bộ lọc xu hướngGhi chú: Trước khi thực hiện giao dịch phá vỡ, giới thiệu các chỉ số xác nhận xu hướng (như trung bình di chuyển, MACD, v.v.) và chỉ tham gia khi phù hợp với xu hướng lớn có thể làm tăng đáng kể tỷ lệ chiến lược.
Tỷ lệ lợi nhuận rủi ro độngChiến lược hiện tại sử dụng tỷ lệ lợi nhuận rủi ro cố định 1: 3, có thể xem xét điều chỉnh theo động thái biến động của thị trường, ví dụ như sử dụng mục tiêu thận trọng hơn trong thị trường có biến động cao.
Bộ lọc thời gianThêm các điều kiện lọc thời gian để tránh giao dịch khi thị trường mở, đóng hoặc biến động đặc biệt thấp.
Cơ chế ngăn chặn một phần: Thực hiện chức năng kiếm lợi nhuận theo giai đoạn, xóa một số vị trí khi giá đạt được mục tiêu nhất định, để các vị trí còn lại tiếp tục theo dõi xu hướng, nâng cao khả năng kiếm lợi nhuận tổng thể.
Các tham số thích ứng: Thay đổi các tham số cố định (ví dụ như chu kỳ 15 phút) thành các tham số động được điều chỉnh tự động dựa trên điều kiện thị trường, giúp chiến lược thích ứng tốt hơn với các môi trường thị trường khác nhau.
Giao dịch xác nhậnThêm phân tích khối lượng giao dịch để đảm bảo rằng giá phá vỡ đi kèm với khối lượng giao dịch đủ, thường làm tăng độ tin cậy của tín hiệu phá vỡ.
Các hướng tối ưu hóa này chủ yếu nhằm mục đích nâng cao tỷ lệ chiến thắng và ổn định của chiến lược, trong khi vẫn giữ được các ưu điểm cốt lõi của nó về quản lý rủi ro rõ ràng và tính năng phối hợp đa chu kỳ. Bằng cách đưa ra nhiều yếu tố thị trường hơn, bạn có thể giảm tín hiệu sai và nâng cao xác suất thành công của mỗi giao dịch.
“15 phút phá vỡ nhiều vòng chiến lược phối hợp dựa trên mô hình tối ưu hóa tỷ lệ lợi nhuận rủi ro” là một hệ thống giao dịch định lượng có cấu trúc rõ ràng, logic nghiêm ngặt, nó nắm bắt cơ hội động lực sau khi phá vỡ bằng cách kết hợp thông tin giá từ các chu kỳ thời gian khác nhau. Mặc dù tỷ lệ chiến thắng của chiến lược không cao (khoảng 30%), nhưng thông qua cơ chế tỷ lệ lợi nhuận rủi ro 1: 3 được thiết kế cẩn thận, lợi nhuận mong đợi đã đạt được.
Ưu điểm cốt lõi của chiến lược là kiểm soát rủi ro nghiêm ngặt, quy tắc nhập và xuất rõ ràng và phương pháp phân tích phối hợp nhiều chu kỳ. Rủi ro chính đến từ các tín hiệu phá vỡ giả và áp lực tâm lý do tỷ lệ thắng thấp. Hướng tối ưu hóa trong tương lai nên tập trung vào việc nâng cao chất lượng tín hiệu, giảm giao dịch phá vỡ giả và xem xét thêm chức năng lọc xu hướng và điều chỉnh tham số động.
Đây là một khung chiến lược cơ bản đáng xem xét cho các nhà giao dịch định lượng tìm kiếm các cơ hội giao dịch ngắn hạn và trung hạn, có thể được tùy chỉnh và tối ưu hóa hơn nữa theo sở thích rủi ro cá nhân và mục tiêu giao dịch.
/*backtest
start: 2025-03-23 00:00:00
end: 2025-03-24 21:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("15-min Breakout via 2-min Candle (R:R=1:3)",
overlay=true,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10)
//-----------------------------------------------------
// 1) Retrieve 15-min high/low & time via request.security
//-----------------------------------------------------
fifteenHigh = request.security(syminfo.tickerid, "15", high)
fifteenLow = request.security(syminfo.tickerid, "15", low)
time15 = request.security(syminfo.tickerid, "15", time)
//-----------------------------------------------------
// 2) Store the most recent closed 15-min bar's high/low
//-----------------------------------------------------
// We use a var variable (stored over time) and update it
// whenever a NEW 15-min bar is detected.
var float last15High = na
var float last15Low = na
// A new 15-min bar (in the "15" series) is indicated when time15 changes.
bool new15bar = time15 != time15[1]
// Update high/low when a new 15-min bar starts
if new15bar
// [1] = previous closed 15-min bar value
last15High := fifteenHigh[1]
last15Low := fifteenLow[1]
//-----------------------------------------------------
// 3) Long position: 2-min close > most recent closed 15-min high
//-----------------------------------------------------
bool longCondition = not na(last15High) and close > last15High
if longCondition
// Entry is 2-min close
float stopPrice = last15Low
float risk = close - stopPrice
float takeProfit = close + 3 * risk
strategy.entry("Long Breakout", strategy.long)
strategy.exit("Long Exit (SL/TP)", "Long Breakout", stop=stopPrice, limit=takeProfit)
//-----------------------------------------------------
// 4) Short position: 2-min close < most recent closed 15-min low
//-----------------------------------------------------
bool shortCondition = not na(last15Low) and close < last15Low
if shortCondition
float stopPrice = last15High
float risk = stopPrice - close
float takeProfit = close - 3 * risk
strategy.entry("Short Breakout", strategy.short)
strategy.exit("Short Exit (SL/TP)", "Short Breakout", stop=stopPrice, limit=takeProfit)