設定與故障排查
MT5 錯誤 10016:止損距離、凍結區與價格步長
無效止損通常需要結合訂單型別、當前報價、入場價和保護價格一起檢查。單看一個距離參數,並不足以解釋完整請求。
從請求與返回碼開始
返回碼 10016 對應 TRADE_RETCODE_INVALID_STOPS。記錄下單時的訂單型別、Bid、Ask、入場價、Stop Loss 和 Take Profit。先分清是市價單、掛單,還是修改已有持倉,因為各自需要滿足的價格關係不同。
區分兩種限制
SYMBOL_TRADE_STOPS_LEVEL 表示以 Points 計的最小止損距離。SYMBOL_TRADE_FREEZE_LEVEL 表示影響市場價格附近操作的凍結區域。兩者應分別檢查。公佈的止損距離為零,也不意味著可以忽略價格方向、步長或其他伺服器條件。
對齊價格後重新核對
按 Tick Size 對齊價格後,應重新計算距離。向市場方向取整,可能使原本合格的止損距離變得不足。還應使用最新報價,因為計算與提交之間的行情變化也可能影響有效性。
按針對性的步驟修復
- 使用相同品種和請求型別復現。
- 比較請求價格與當前品種限制。
- 檢查 OrderCheck 和交易伺服器結果。
- 只修改相關價格計算,再檢查失敗案例與普通有效案例。
用 MQLume 開啟你的定製
MQLume 為有程式設計和交易基礎的使用者提供可編輯專案,方便檢查執行規則。可以從 Ultimate Breakout System MT5 的參數指南開始。













