Titan FX

MQL4 程式語言入門教學:MQL4是什麼?新手從零學寫自動交易程式

MQL4 程式語言入門教學:MQL4是什麼?新手從零學寫自動交易程式

在外匯與差價合約(CFD)交易中,如何提升執行效率與策略穩定性,是許多交易者關注的重點。MQL4 程式語言 提供了一個解決方案,讓你能在 MetaTrader 4(MT4)平台上開發 EA(Expert Advisor),實現自動下單、風險控管與資金管理。

本篇 MQL4 教學 將專為零基礎新手設計,從環境設定開始,帶你了解 MetaTrader 4(MT4) 的核心運作邏輯。我們將解析基礎語法與事件函數,並結合 Titan FX 提供的免費資源與前測數據,幫助你逐步建立自己的自動交易系統。

1. 什麼是 MQL4?從 MT4 到自動交易完整理解

MQL4 是 MetaQuotes 專為 MetaTrader 4(MT4)開發的程式語言,相當於 MT4 的「交易指令手冊」。它能把你的交易策略轉化成電腦可以自動執行的程式,讓交易不再依賴人工盯盤。

MT4 可建立的三種常用程式類型

在 MT4 中,使用 MQL4 可以建立以下三種最常見的程式:

  • EA(Expert Advisor,專家顧問):自動執行買賣、設定停損停利、資金管理等,是自動交易的核心工具(本文重點)。
  • 自訂指標(Custom Indicator):在圖表上繪製各種技術指標、線條、圖形。
  • 腳本(Script):執行一次性任務,例如快速平倉、畫線、修改訂單等,用完即止。

其中,EA 是最強大的自動交易工具,也是本文主要講解的對象。

MT4 核心運作邏輯(以 EA 為例)

MT4 的運作以 Tick(報價跳動) 為基本單位。每當市場價格有任何變動,就會產生一個 Tick。

當你把 EA 掛載到圖表上後:

  • MT4 會持續把最新的 Tick 資料傳給 EA。
  • EA 則透過 OnTick() 函數接收這些 Tick,並根據你寫好的策略決定是否下單、管理訂單、調整止損止盈等。

重點
所有自動交易的判斷邏輯,主要都寫在 OnTick() 函數裡。它就像 EA 的「心跳」,每跳一次就執行一次你的交易邏輯。

與 MQL5 相比,MQL4 語法更簡單,適合新手入門,且擁有成熟的 EA 生態,大量現成程式碼可供參考修改。

2. MQL4 怎麼寫 EA?MetaEditor 完整操作流程

開啟 MT4 的 MetaEditor,依循以下流程即可完成開發:

  • ① 登入MT4 - 點選導航欄的黃色圖示,開啟MetaEditor。
  • ② 點擊「New」-「Expert Advisor (template)」,在「Expert\」後輸入名稱與作者資訊後繼續。
  • ③ 根據需要選擇額外的EA交易時間處理常式,也可以不勾選直接進行下一步。
  • ④ 在編輯區撰寫程式碼(副檔名為 .mq4),完成後點擊「Compile」進行編譯,成功後會產生 .ex4 執行檔。
  • ⑤ 回到 MT4,在「Navigator」→「Expert Advisors」找到檔案並拖曳到圖表上,完成掛載。
MQL4編寫EA程式碼後保存並編譯確認無錯誤的完整操作步驟

※ 新手最常遇到的問題是 EA 掛載後右上角沒有出現笑臉。這通常是因為你沒有開啟「允許自動交易」的功能。點擊「工具(Tools)」→「選項(Options)」→「EA交易(Expert Advisors)」,勾選「Allow automated trading」。

解決MT4 EA無法運行問題開啟自動交易與EA交易設定的操作畫面

3. 語法極簡版:新手必學的資料型態與 OnTick 函數

開發 MQL4 EA 並不需要背誦成千上萬的代碼,掌握最核心的「資料型態」與「運作心臟」,就能組裝出邏輯完整的自動化策略。

核心資料型態

資料型態說明實戰用途範例
int整數(無小數)指標週期、MagicNumber、訂單編號
double帶小數點精準數值Ask/Bid 價格、Lot 大小、點數
booltrue / false是否允許進場、訊號是否成立

EA 的運作心臟:OnTick() 函數

OnTick() 是 MQL4 EA 最重要的事件函數。

  • 執行時機:市場每出現一次新的報價(Tick),系統就會執行一次 OnTick() 內的程式碼。
  • 開發重點:所有交易判斷邏輯(例如快線穿過慢線就買入)都應該放在這裡。

常用行情變數

  • Ask / Bid:目前買入價與賣出價(決定開倉價格)
  • Close[0]:當前尚未完成 K 線的即時價格
  • High[0] / Low[0]:當前 K 線最高價與最低價

掌握這些後,搭配簡單 if 判斷(如 if(Close[0] > High[1]))就能建立第一套自動交易規則。

4. 避坑指南:EA 常見錯誤與穩定性優化

撰寫 MQL4 EA 時,語法錯誤容易被發現,但邏輯錯誤與執行問題卻常讓新手卡關。以下整理最常見的錯誤與實用避坑技巧。

常見開發錯誤速查

錯誤類型常見原因解決方法
語法報錯遺漏 ; 或大括號不對稱雙擊 MetaEditor 錯誤訊息跳轉修正
下單失敗 (130)停損停利距離太近使用 MarketInfo() 查最小間距並加緩衝
資金不足 (134)保證金不夠動態計算手數或檢查帳戶餘額

程式穩定度提升技巧

實用工具主要功能建議使用時機
Print()把變數數值或訊息記錄到「專家」日誌追蹤程式內部邏輯是否正確
Comment()在圖表左上角即時顯示資訊即時觀察關鍵變數
策略測試器可視化模式(Visual Mode)觀看 EA 實際運行開發初期驗證進出場邏輯
模擬帳戶測試在真實市場環境中使用虛擬資金運行上線實盤前的最終驗證

關鍵提醒:避免過度優化歷史數據。建議從簡單策略開始,在模擬帳戶長期運行,確認風險控管合理後再轉實盤。

5. 免費 EA 資源推薦:利用 Titan FX 前測數據加速實戰

如果你覺得從零開始開發過於困難,利用經紀商提供的成熟資源是一個非常聰明的做法。Titan FX提供了超過 70 款免費 EA 程式,同時支援 MT4 與 MT5。

Titan FX EA前測排名頁面顯示不同自動交易策略的收益與回撤數據

這些資源的價值在於透明度:

  • 可在 Titan FX 研究所查看真實市場環境下的前測表現(比純歷史回測更可靠)。
  • 透過 EA 排名頁面,能清楚看到收益率、最大回撤、勝率與獲利因子。

新手可以挑選排名靠前、回撤適合自己風格的 EA,下載後先在模擬帳戶觀察。這不僅加速自動化進程,也是學習專業 EA 結構的最佳方式。

6. 常見 FAQ:關於 MQL4 與 EA 開發的疑難雜症解答

Q1:可以在一張圖表掛載多個 EA 嗎?

不行,每張圖表只能執行一個 EA。如果你需要運行多個策略,請為同一個貨幣對開啟多個獨立的圖表視窗。

Q2:MT4 的 EA 可以直接用在 MT5 嗎?

不行。由於 MQL4 與 MQL5 的交易邏輯有顯著差異,代碼無法直接共用。你需要根據 MQL5 的物件導向架構重新編寫邏輯。

Q3:.mq4 與 .ex4 的差別是什麼?

.mq4 是可編輯的源碼檔案,.ex4 是編譯後的執行檔。修改程式時只能編輯 .mq4,載入平台則使用 .ex4。

Q4:EA 一定能穩定獲利嗎?

不一定。EA 的表現取決於策略邏輯與市場環境,沒有任何策略能在所有行情中穩定獲利。因此風險控管與持續優化仍然非常重要。

7. 總結

透過這篇教學,你已了解 MT4 環境設定、MQL4 基礎語法、EA 開發流程、除錯優化,以及 Titan FX 免費資源的運用。

雖然自行撰寫 EA 需要練習,但從簡單邏輯開始,並善用回測與模擬帳戶驗證,就能逐步打造穩定系統。同時,參考 Titan FX 的前測排名與成熟 EA,能大幅縮短你的學習與實戰曲線。

使用 EA 開始外匯程式交易

透過 Titan FX 提供的免費 EA,您可以依照交易策略進行自動化操作,減少盯盤時間,並提升交易效率。
搭配 MT4MT5 平台,即可快速建立屬於自己的程式交易流程。

開戶完成後,即可下載平台並開始設定 EA 進行交易。