Trang chủ > Blog > Stop Level và Freeze Level: vì sao không đặt được SL

MT5Thông số symbolQuản lý rủi ro

Stop Level và Freeze Level: vì sao không đặt được SL

Đăng: 2026-11-07Thời gian đọc: khoảng 3 phút
⏱ Bài viết này phản ánh thông tin tại thời điểm đăng. Các số liệu hiệu suất EA (PF, DD, lợi nhuận hàng năm) thay đổi theo giao dịch thực và việc kiểm chứng lại — hãy xem thông tin mới nhất trên các trang EA. Xem kết quả EA mới nhất →

Không đặt được SL chưa chắc là lỗi của EA

Xin nói kết luận trước. Phần lớn trường hợp không đặt được SL hoặc không dời được SL không đến từ logic của EA, mà do "khoảng cách tối thiểu" được quy định trong thông số symbol. MT5 có "Stop Level", quy định SL/TP phải cách giá hiện tại tối thiểu bao xa, và "Freeze Level", cấm sửa lệnh khi giá tiến gần SL/TP hoặc lệnh chờ.

Điều phiền phức là khoảng cách này không phải lúc nào cũng cố định. Một mức SL bình thường vẫn được chấp nhận có thể bị từ chối ngay sau khi ra tin. Khi làm EA, chúng tôi luôn kiểm tra khoảng cách này trước khi gửi lệnh. Bài viết này tóm tắt cơ chế, các bước kiểm tra và giới hạn của biện pháp phía EA.

So sánh nhà môi giới khuyên dùng →

🎁 Tải EA miễn phí

📧 Khóa học email miễn phí (8 email) + gói 13 chỉ báo MT5 dành riêng cho người đăng ký

* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.

Cơ chế: hai loại "khoảng cách tối thiểu"

Stop Level

Stop Level (SYMBOL_TRADE_STOPS_LEVEL) là khoảng cách tối thiểu từ giá hiện tại đến SL/TP, tính bằng point. Với lệnh mua, khoảng cách được tính từ Bid (giá dùng để đóng lệnh); với lệnh bán, tính từ Ask. Nếu đặt SL gần hơn mức này, lệnh bị server từ chối và mã trả về của MT5 là "Invalid stops" (10016).

Freeze Level

Freeze Level (SYMBOL_TRADE_FREEZE_LEVEL) là khoảng cách mà trong đó, khi giá tiến gần SL/TP hoặc giá của lệnh chờ, lệnh đó không thể sửa hay xóa. EA trailing stop bị từ chối khi cố dời SL ngay trước lúc đóng lệnh thường là do cái này. Mã trả về là "Frozen" (10029).

MụcÝ nghĩaThao tác bị ảnh hưởngMã từ chối chính
Stop LevelKhoảng cách tối thiểu từ giá hiện tại đến SL/TPChỉ định SL/TP khi vào lệnh, sửa SLInvalid stops (10016)
Freeze LevelKhoảng cách cấm sửa khi giá tiến gần SL/TP hoặc lệnh chờSửa SL/TP, sửa hoặc hủy lệnh chờFrozen (10029)

"0" không có nghĩa là không giới hạn

Dù thông số symbol hiển thị Stop Level bằng 0, không có nghĩa là đặt gần đến đâu cũng được. Có vẻ một số broker áp dụng quy tắc khác ở phía server khi giá trị là 0 (ví dụ khoảng cách dựa trên spread). Chúng tôi chưa kiểm chứng được cách triển khai của từng broker, nên xử lý theo hướng thận trọng: "0 = phải cách xa ít nhất bằng spread".

Khoảng cách giãn ra khi ra tin

Stop Level và Freeze Level không phải giá trị cố định, broker có thể thay đổi. Có broker tạm thời nới rộng quanh thời điểm công bố tin quan trọng, ngay sau khi mở cửa đầu tuần, hoặc trong khung giờ rollover. Spread cũng giãn ra cùng lúc, nên SL của lệnh bán, vốn tính từ Ask, phải đặt xa hơn nhiều so với biến động giá thực tế.

Nói cách khác, dù bạn xem thông số thường ngày và thấy "khoảng cách này ổn", lệnh vẫn có thể bị từ chối đúng lúc quan trọng nhất. Với EA được thiết kế kiểu vào lệnh thành công nhưng SL không được đặt, vị thế có thể bị bỏ trống không có bảo vệ.

Các bước kiểm tra và checklist

Hãy kiểm tra các mục sau trên tài khoản bạn đang dùng.

  1. Mở thông số symbol: nhấp chuột phải vào symbol trong Market Watch → "Specification". Ghi lại giá trị "Stops level" và "Freeze level" (đơn vị là point).
  2. Quy đổi point sang giá: 1 point của XAUUSD và USDJPY có biên độ giá khác nhau, nên hãy xem số chữ số thập phân rồi đổi thành chênh lệch giá.
  3. So với khoảng cách SL của EA: kiểm tra xem khoảng cách SL trong cài đặt hoặc logic của EA có lớn hơn đủ nhiều so với Stop Level cộng spread hay không.
  4. Xem lại trước và sau khi ra tin: mở cùng màn hình đó ngay trước giờ công bố tin để xem giá trị có đổi không. Broker có thay đổi hay không thì chỉ biết khi tận mắt kiểm tra.
  5. Xem log: kiểm tra tab "Journal" và "Experts" có xuất hiện "Invalid stops" hay "Frozen" không. Cách khoanh vùng nguyên nhân khi lệnh bị từ chối cũng được tổng hợp ở Kiến thức EA và MT5.

Về cách cài đặt EA, xem Hướng dẫn cài đặt EA; về khác biệt điều kiện giao dịch giữa các broker, xem So sánh broker FX.

Kiểm tra khoảng cách tối thiểu ở phía EA

Ngay trước khi gửi lệnh, EA của chúng tôi kiểm tra theo thứ tự sau:

  • Mỗi lần đều lấy Stop Level, Freeze Level và spread tại thời điểm đó (không dùng giá trị chỉ lấy một lần lúc khởi động)
  • Khoảng cách tối thiểu = giá trị lớn hơn giữa Stop Level và Freeze Level, cộng spread và một chút dư địa
  • Nếu SL gần hơn khoảng cách này, không tự ý nới SL mà bỏ qua lệnh vào

Lý do chúng tôi không thiết kế tự động nới SL là vì nới SL sẽ làm mức lỗ mỗi lệnh lớn hơn thiết kế. Nếu lot được tính ngược từ khoảng cách SL, chỉ nới SL sẽ làm lệch rủi ro theo %. Bỏ qua lệnh thì mất cơ hội, nhưng chúng tôi cho rằng vẫn tốt hơn là gánh một rủi ro ngoài dự tính.

Giới hạn và lưu ý

Cách kiểm tra này không ngăn được mọi vấn đề.

  • Khó tái hiện trong backtest: theo hiểu biết của chúng tôi, Strategy Tester của MT5 dùng cài đặt hiện tại trong thông số symbol, nên không tái hiện được việc khoảng cách giãn ra vào những lần ra tin trong quá khứ. EA có SL càng ngắn thì chênh lệch giữa kết quả test và kết quả thực tế càng có thể lớn. Ví dụ, GOLD TRIPWIRE là kiểu có thời gian giữ lệnh trung bình trong backtest ngắn, chỉ 0:21:12, nên chúng tôi cho rằng nó thuộc nhóm dễ chịu ảnh hưởng của chênh lệch này.
  • Bỏ qua lệnh làm thay đổi kết quả: trong các lệnh bị bỏ qua nhờ bước kiểm tra, có cả những lệnh đáng ra đã thắng. Khi thêm bước kiểm tra, giao dịch sẽ khác với backtest.
  • Điều kiện có thể đổi ngay lúc gửi lệnh: giữa lúc vượt qua bước kiểm tra và lúc lệnh đến server, điều kiện vẫn có thể thay đổi, nên không thể giảm số lần bị từ chối xuống hoàn toàn bằng 0.
  • Bản thân SL cũng có thể bị trượt giá: dù đặt được SL, khi thị trường biến động mạnh, lệnh vẫn có thể khớp ở giá bất lợi hơn SL. Kiểm tra khoảng cách tối thiểu không phải là biện pháp chống slippage.

Tóm tắt

  • Phần lớn nguyên nhân không đặt được SL là Stop Level (khoảng cách tối thiểu) và Freeze Level (khoảng cách cấm sửa) trong thông số symbol
  • Khi bị từ chối, mã trả về là "Invalid stops" hoặc "Frozen"
  • Stop Level bằng 0 chưa chắc là "không giới hạn". Ít nhất hãy đặt cách xa bằng spread
  • Có broker nới khoảng cách và spread quanh thời điểm ra tin, nên lệnh có thể bị từ chối đúng lúc quan trọng nhất
  • Thiết kế của chúng tôi: EA mỗi lần đều lấy giá trị tại thời điểm đó để kiểm tra, nếu không đủ thì bỏ qua lệnh chứ không nới SL
  • Backtest khó tái hiện sự thay đổi khoảng cách trong quá khứ. EA có SL càng ngắn càng cần chú ý chênh lệch khi chạy thực tế

📧 Khóa học email miễn phí (8 email) + gói 13 chỉ báo MT5 dành riêng cho người đăng ký

* Quyền riêng tư được bảo vệ nghiêm ngặt. Bạn có thể hủy đăng ký bất cứ lúc nào.

Bạn có câu hỏi về EA hay Forex?

Bạn có thể đăng câu hỏi trên diễn đàn giao dịch Nattzy (đăng ký miễn phí). Không nhất thiết liên quan đến bài viết này — cài đặt EA, chọn sàn môi giới, v.v. đều được.

Hỏi trên Nattzy ↗

Bình luận & câu hỏi