XAUXX日誌
← 返回日誌

兩個黃金EA為何會管到同一筆單?檢查MT4魔術號

用模擬帳戶案例說明EA如何按品種和魔術號篩選訂單,以及換號後如何避免遺留持倉失去管理。

托馬斯 · 更新於 2026-11-10

作者:托馬斯|MT4實務|2026年11月10日

摘要:在同一個MT4帳戶掛兩套黃金EA時,如果它們使用相同的訂單識別條件,就可能同時修改一筆訂單的止損。排查時先看訂單上的品種和魔術號,再看代碼實際按哪些條件篩選。下面的編號和訂單均為教學假設。

魔術號記錄在哪裡

MQL4 的 OrderSend 支持傳入 magic 參數。訂單被成功選中後,OrderMagicNumber 可以讀出該訂單的識別號。它能給程序提供分類依據。具體哪些訂單會被修改或關閉,仍由EA自身的篩選和執行邏輯決定。如果程序遍歷帳戶訂單時只檢查品種,兩套黃金EA即使填了不同的魔術號,也可能處理同一批單。

![EA選中訂單後核對品種與魔術號的原創流程圖,非實盤](/media/101800ab-1111-4444-8888-123456789abc.png)

圖中假設策略A、B分別使用101和202。A逐筆選中交易池的訂單,先核對實際品種,再核對識別號。兩項都符合時,才交給後續邏輯檢查訂單類型及允許的動作。選單失敗應跳過並記錄錯誤。涉及修改前,宜再次選中目標訂單,避免使用此前複製進程序的舊數據。

用模擬帳戶分三步驗證

第一步,記錄兩套EA的版本、輸入參數、圖表週期和券商商品全名。不同帳戶上的黃金名稱可能帶後綴。對同一品種部署多個實例時,也要明確它們究竟獨立管理,還是設計上共享訂單。

第二步,在模擬帳戶中讓每套EA分別生成一筆可識別的測試單,同時準備一筆應被排除的測試單。日誌至少記下訂單號、品種、魔術號和程序準備執行的動作。然後觸發一次可控的管理動作,例如嘗試修改策略A自己的測試單,查看策略B的訂單是否保持原值。掛單和已成交持倉最好分別驗證,因為交易池可同時包含這兩類訂單,實際處理規則通常不同。

第三步,重啟終端或重新加載EA後再查一次。若程序只記住本次運行期間建立的訂單列表,重啟後的行為可能變化。可核對它是否按既定條件重新識別訂單,以及沒有匹配訂單時是否出現意外動作。編號只是輔助隔離,帳戶範圍內的總風險檢查如果有意讀取所有持倉,應與實際修改訂單的權限分開記錄。

更換編號之前先處理舊單

假設策略A此前用101建立倉位,現在改成303。輸入參數變化通常只影響後續代碼使用的值,舊訂單的識別號並不會隨圖表設置自動遷移。若管理條件只匹配303,原101訂單可能被跳過。變更前應列出舊訂單和預定處理方式,再在模擬環境驗證重啟與交接。遇到版本不可查或日誌不能說明篩選邏輯的EA,先暫停自動管理變更,核對現有持倉的退出安排。模擬通過也只能說明所測試場景,真實報價變化、服務器拒單和滑點仍需單獨評估。

原创教学示意,非实盘。
原创教学示意,非实盘。
風險告知:槓桿交易可能造成重大損失。內容僅供研究與教育用途,不保證任何報酬。過往績效不代表未來結果。
WECHAT

与托马斯交流

黄金研究 · 交易复盘 · MT4使用交流

微信号:xauxx666
查看二维码大图

用微信扫一扫添加。手机访问可打开大图,保存后在微信扫一扫中选择相册识别。

托马斯的微信二维码,微信号xauxx666