
Chiến lược này sử dụng phạm vi giá hình thành 15 phút trước khi thị trường mở cửa làm cơ sở để tìm kiếm cơ hội giao dịch bằng cách phá vỡ phạm vi đó. Chiến lược này hoạt động trên khung thời gian 5 phút, sử dụng lệnh giới hạn để vào vị trí phá vỡ phạm vi và đặt điểm dừng và dừng cố định. Phương pháp này tận dụng tối đa sự biến động thường xảy ra trong thời gian mở cửa, đồng thời có được điểm vào thuận lợi hơn khi giá rút lui thông qua cơ chế lệnh giới hạn.
Lập luận cốt lõi của chiến lược này dựa trên phạm vi giá được hình thành khi thị trường mở cửa. Cụ thể, nó đầu tiên xác định các điểm cao và thấp trong 15 phút trước khi thị trường mở cửa (9:30-9:45), điều này được thực hiện bằng cách tính toán các điểm cao nhất và thấp nhất của ba đường dây đầu tiên trên khung thời gian 5 phút. Một khi phạm vi này được thiết lập, chiến lược sẽ giám sát xem giá có phá vỡ phạm vi đó hay không.
Khi giá phá vỡ giới hạn trên, chiến lược đặt lệnh giới hạn nhiều ở vị trí phá vỡ; khi giá phá vỡ giới hạn dưới, chiến lược đặt lệnh giới hạn trống ở vị trí phá vỡ. Đặc điểm của lệnh giới hạn là nó chỉ được kích hoạt khi giá giảm trở lại hoặc tăng trở lại đến mức được chỉ định, thực tế là chờ đợi giá được xác nhận.
Chiến lược sử dụng các điểm dừng cố định ((100 điểm) và điểm dừng ((50 điểm)). Điều này có nghĩa là tỷ lệ lợi nhuận rủi ro là 1: 2, đây là một thiết lập quản lý rủi ro tương đối bảo thủ. Chức năng thoát chiến lược được sử dụng trong mã để tự động quản lý các mức dừng lỗ này.
Tận dụng biến động của bảng mở15 phút đầu tiên sau khi thị trường mở cửa thường đi kèm với sự biến động và khối lượng giao dịch cao, điều này tạo điều kiện tốt cho giao dịch đột phá. Chiến lược này được thiết kế đặc biệt cho khoảng thời gian này và nắm bắt hiệu quả động lực ban đầu của thị trường.
Cơ chế đặt hàng giới hạn: Sử dụng lệnh giới hạn có thể có được giá vào thuận lợi hơn so với lệnh giá thị trường. Khi giá bị rút sau khi phá vỡ (đây là một hiện tượng phổ biến), chiến lược có thể vào giá lý tưởng hơn, do đó giảm điểm trượt và cải thiện chất lượng thực hiện giao dịch.
Quản lý rủi ro rõ ràngChiến lược này đặt ra các điểm dừng và dừng cố định với tỷ lệ lợi nhuận rủi ro là 1: 2. Phương pháp quản lý rủi ro rõ ràng này giúp cho hiệu suất ổn định lâu dài và ngăn ngừa tổn thất lớn trong một giao dịch.
Đơn giản và có thể lặp lại: logic chiến lược đơn giản và rõ ràng, không có chỉ số hoặc tính toán phức tạp, giúp dễ hiểu và thực hiện. Sự đơn giản này cũng làm giảm nguy cơ phù hợp quá mức và tăng khả năng thích ứng của chiến lược trong các điều kiện thị trường khác nhau.
Tự động thực hiện: Toàn bộ chiến lược có thể được tự động hóa hoàn toàn, giảm sự can thiệp của con người và sự chậm trễ trong thực hiện. Một khi các tham số được thiết lập, hệ thống có thể tự động nhận ra khoảng cách, đặt lệnh và quản lý dừng lỗ.
Rủi ro đột phá giảMột giải pháp có thể là thêm các cơ chế xác nhận, chẳng hạn như yêu cầu giá duy trì một thời gian sau khi phá vỡ, hoặc sử dụng các chỉ số kỹ thuật khác để xác nhận.
Hạn chế của lỗ dừng cố địnhLệnh dừng sử dụng số điểm cố định có thể không phù hợp với tất cả các điều kiện thị trường. Trong môi trường biến động cao, lệnh dừng có thể quá nhỏ; trong môi trường biến động thấp, lệnh dừng có thể quá lớn. Một phương pháp linh hoạt hơn là điều chỉnh các tham số này dựa trên biến động thị trường hoặc động lực biến động thực tế của ATR trong ngày giao dịch trước đó.
Tùy thuộc vào một khoảng thời gian duy nhấtChiến lược này chỉ tập trung vào 15 phút đầu tiên sau khi mở cửa, bỏ qua các khoảng thời gian khác có thể cung cấp tín hiệu có giá trị. Sự tập trung hẹp này có thể dẫn đến việc bỏ lỡ các cơ hội giao dịch khác. Chiến lược mở rộng để tính đến các khoảng thời gian quan trọng khác (ví dụ như trước khi đóng cửa) có thể giúp tăng cơ hội giao dịch.
Thiếu lọc môi trường thị trườngChiến lược không tính đến môi trường thị trường tổng thể, chẳng hạn như hướng xu hướng hoặc tình trạng biến động. Trong một số điều kiện thị trường, giao dịch đột phá có thể không hiệu quả. Việc giới thiệu bộ lọc môi trường thị trường, chẳng hạn như chỉ số xu hướng hoặc giá trị biến động, có thể giúp tránh giao dịch trong điều kiện bất lợi.
Thiếu sự cân nhắc về quản lý tài chính: Phương pháp tính toán kích thước vị trí trong mã đơn giản, có thể dẫn đến sự không nhất quán của lỗ hổng rủi ro. Việc thực hiện hệ thống quản lý tiền phức tạp hơn, chẳng hạn như mô hình rủi ro phần trăm dựa trên quy mô tài khoản, sẽ giúp duy trì mức độ rủi ro nhất quán.
Động lực dừng dừng: Thay đổi điểm dừng của số điểm cố định thành tham số động dựa trên biến động của thị trường. Ví dụ, ATR có thể được sử dụng để nhân một hệ số để thiết lập mức dừng và dừng, do đó, khi biến động tăng, điểm dừng cũng mở rộng tương ứng, và ngược lại. Phương pháp này có thể thích ứng tốt hơn với các điều kiện thị trường khác nhau.
Thêm dấu hiệu xác nhậnGhi chú: giới thiệu các chỉ số kỹ thuật bổ sung để xác nhận tính hiệu quả của đột phá, chẳng hạn như tăng khối lượng giao dịch, chỉ số động lực hoặc hướng trung bình di chuyển. Điều này có thể làm giảm nguy cơ đột phá giả và cải thiện chất lượng tín hiệu giao dịch.
Tối ưu hóa thời gian nhập họcChiến lược hiện tại là đặt lệnh giới hạn ngay sau khi giá đóng cửa phá vỡ khu vực. Bạn có thể cân nhắc chờ đợi xác nhận bổ sung, chẳng hạn như thử nghiệm lại mức phá vỡ hoặc mô hình giá cụ thể, để tăng độ chính xác của thời gian vào.
Thêm bộ lọc môi trường thị trường: đưa ra các cơ chế để đánh giá môi trường thị trường tổng thể, chẳng hạn như cường độ của xu hướng, mức độ biến động hoặc giai đoạn thị trường cụ thể. Trong điều kiện bất lợi, có thể chọn không giao dịch hoặc điều chỉnh các tham số để phù hợp với đặc điểm thị trường hiện tại.
Cải thiện quản lý tài chính: Thực hiện các chiến lược quản lý tiền phức tạp hơn, chẳng hạn như mô hình rủi ro phần trăm dựa trên quy mô tài khoản hoặc điều chỉnh kích thước vị trí dựa trên biến động. Điều này sẽ đảm bảo rằng các lỗ hổng rủi ro được duy trì bất kể quy mô tài khoản.
Mở rộng đến các khoảng thời gian khác: Khám phá các logic đột phá tương tự trong các khoảng thời gian quan trọng khác, chẳng hạn như mở cửa thị trường giữa trưa, trước và sau khi dữ liệu kinh tế quan trọng được công bố hoặc trước khi thị trường đóng cửa. Điều này có thể cung cấp thêm cơ hội giao dịch, rủi ro của chiến lược phân tán.
Chiến lược giao dịch phá vỡ giới hạn trong khoảng mở cửa là một phương pháp giao dịch định lượng tập trung vào thời điểm mở cửa thị trường, nắm bắt động lực thị trường bằng cách xác định phạm vi giá 15 phút trước và giao dịch phá vỡ. Sử dụng lệnh giới hạn và thiết lập lợi nhuận rủi ro cố định, nó cung cấp cho các nhà giao dịch một phương pháp kỷ luật và dễ thực hiện.
Ưu điểm chính của chiến lược này là sự đơn giản, mức độ tự động hóa và sử dụng hiệu quả sự biến động của mở cửa. Tuy nhiên, nó cũng đối mặt với những thách thức như rủi ro phá vỡ giả, giới hạn của các tham số cố định và sự phụ thuộc vào một khoảng thời gian duy nhất.
Chiến lược này có thể được tăng cường đáng kể bằng cách thực hiện các lệnh dừng lỗ động, thêm các chỉ số xác nhận, tối ưu hóa thời gian đầu vào, giới thiệu bộ lọc môi trường thị trường và cải thiện quản lý tiền. Những cải tiến này sẽ giúp tăng cường sức mạnh của chiến lược, giúp nó thích ứng tốt hơn với các điều kiện thị trường khác nhau.
Đối với các nhà giao dịch định lượng, chiến lược này cung cấp một điểm khởi đầu tốt, có thể được tùy chỉnh và cải tiến thêm theo sở thích rủi ro cá nhân và đặc điểm của thị trường. Với sự phản hồi và tối ưu hóa liên tục, chiến lược phá vỡ khoảng mở có thể trở thành một công cụ hiệu quả trong danh mục đầu tư.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-01-21 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gghezzar5
//@version=6
//initialize your code as a strategy or indicator, if you want to take entries you need to use a strategy
//NOTE: if your trades dont show up on the chart sometimes its cuz your initial capital is too low
//hovering over a label shows a description of what it does and the required inputs but lmk if youre still confused on anything
strategy("tiktok strat", overlay=true, initial_capital=1000000)
//get times
currenthour=hour(time, "America/New_York")
currentminute=minute(time, "America/New_York")
//quantity increases in proportion to my profit to simulate reinvesting (not using it)
qty=int(((strategy.netprofit+100000)/close)/2)
//var command initializes the variables, float identifier is like int but it can hold decimals as well
var float m15high=0
var float m15low=0
var float limit=0
//boolean true/false variables (entry conditions)
long=false
short=false
//since we're on the 5 minute timeframe, to identify the range of the 15 minute 9:30-9:45 candle we have to get the highest and lowest value of the past three 5 minute candles
//btw
if currenthour==9 and currentminute==45
//4th bar starts at 9:45, finalizing the 15 minute candle
//high[1]=the previous high of the 9:40-9:45 bar, high[2]=the high before that, etc
m15high:=math.max(high[3], high[2], high[1])
m15low:=math.min(low[3],low[2],low[1])
//NOTE: the := operator is super important and easy to use: it allows you to change the value of a global variable while in local scope
//For example if I were to use = instead of :=, m15high would return 0 at 9:50 since the local scope of the if statement only covers 9:45 (try it yourself in strategy tester)
//And if we were to set currentminute>=45 to extend the scope, the relative highs would also shift with the following bars
//ALWAYS use the := operator whenevere youre changing the value of a variable because if = works then := will work but if := works = doesnt always work.
//returns true once a bar closes above the high or below the low of the 15 minute candle. if so, entry condition is set to true and the limit is set at the high or low, which i'll explain next
if close>m15high
limit:=m15high
long:=true
if close<m15low
limit:=m15low
short:=true
tp=100
sl=50
//these are only for the plots
entry_price=strategy.opentrades.entry_price(0)
takeprofit=entry_price+tp
stoploss=entry_price-sl
takeprofits=entry_price-tp
stoplosss=entry_price+sl
//entries: once the long condition becomes true, we enter. But since we placed a limit order we dont enter immediately. When we break out of the range
//a limit is placed where we broke out and only triggers if the price then comes back down (or up) and hits that level again. (in this case it usually happens right away anyway)
if long
strategy.entry('long', strategy.long, 1, limit=limit)
strategy.exit('exitlong', 'long', stop=stoploss, limit=takeprofit)
if short
strategy.entry('short', strategy.short, 1, limit=limit)
strategy.exit('exitshort', 'short', stop=stoplosss, limit=takeprofits)