原始碼與編譯
如何在 MT5 編譯 MQ5:找到 EX5 並解決常見錯誤
在 MetaEditor 開啟 MQ5 檔案,按 F7。編譯成功後,EX5 會出現在 MQ5 旁邊。下面的步驟幫助你找到正確資料夾並處理編譯錯誤。
準備可復現的工作環境
保留交付壓縮包不變,使用副本操作。記錄原始碼版本和 MetaTrader/MetaEditor 構建號。如果安裝了多個經紀商終端,先確定本次使用哪一個,再放置檔案。
從該終端選擇 File → Open Data Folder,定位工作目錄。EA 通常放在 MQL5/Experts/,引用檔案和其他依賴按交付說明放置。各目錄用途見MetaEditor 目錄指南。
現在就記錄交付包、主檔案、目標終端和手動改動。否則以後即使找到一個可執行的 EX5,也可能無法確定它是由哪份原始碼生成的。
開啟主檔案並編譯
在 MetaEditor 中開啟主 .mq5 檔案,選擇 Compile 或按 F7,然後閱讀 Errors 標籤。編譯失敗不會生成新的可執行檔案;出現警告時仍可能生成程式。參見官方編譯說明。
不要把開啟輔助引用檔案當成已經構建整個 EA。也要核對編輯器中的完整路徑:不同目錄下可能存在同名檔案。
根據診斷修復,不盲目改策略
| 現象 | 檢查方向 |
|---|---|
| 找不到引用檔案或庫 | 先對照交付清單與路徑,再修改引用。 |
| 名稱或函式未定義 | 檢查平臺、依賴和支援的構建號。 |
| 型別轉換警告 | 檢查數值是否可能被取整、截斷或誤讀。 |
| 一次修改後出現很多錯誤 | 從首個相關診斷開始,與未修改的副本比較。 |
僅因為某行報錯就刪除它,可能同時刪除程式行為。如果不能解釋修改的目的,應保留原檔案並聯系支援。提供完整報錯、檔名和行號,比只說“無法編譯”更有用。
確認將要測試的程式
編譯成功後,檢查 EX5 的位置和修改時間,再在目標終端選擇對應 EA。殘留的舊 EX5 可能讓失敗的新改動看起來仍能執行。官方編輯、編譯與執行教程也說明了這一流程。
構建記錄應與測試記錄放在一起。自己的實驗可以使用 demo-check-01 等清楚的名稱,避免不斷覆蓋“final”。每次有意義的比較都保留原始碼及設定。
編譯透過後的檢查
- 用較短歷史檢查初始化和輸入是否符合預期。
- 閱讀測試日誌,排查初始化及執行錯誤。
- 核對具體開倉、平倉和手數。
- 擴大為有記錄的歷史測試,再進入模擬盤觀察。
零錯誤編譯只是一個檢查點,不能證明訂單處理、重啟行為或盈利能力正確。繼續使用MT5 回測流程,再次修改原始碼前保留基線。
返回頂部












