EA 開發與 Builder beginner 17 分鐘閱讀

不用寫程式做出 MT5 EA(以及那 84 個範本實際的成績)

不用寫程式做 MT5 EA:在瀏覽器裡用區塊組出一支智慧交易系統,編譯成真正的 .ex5,並在它碰到錢之前先測試。內含沒有人引用過的那個數字——Builder 內建的 84 個入門範本在原廠設定下的成績,全部量自 Builder 自己的紀錄。

發佈於 · 審閱於

你不用寫程式就能做出一支 MT5 EA 自動交易程式:在畫布上用區塊把它組起來——一個指標區塊、一個條件區塊、一個訂單區塊、一個風險區塊——再讓伺服器替你產生並編譯 MQL5。回傳的檔案是一個真正的 .ex5,和手寫 EA 編譯出來的是同一種檔案。整個過程完全不會碰到 MQL5 語法。

免寫程式沒有拿掉的是設計工作,而幾乎所有人都是在這裡輸掉的。所以這份指南把兩半都做完:從一個想法走到編譯完成檔案的機械流程,以及在你動手改任何東西之前,這些檔案究竟能跑出什麼成績的證據。

你會做出什麼

讀完之後,你會有一個編譯好的 .ex5 躺在 MetaTrader 5 的 MQL5/Experts 資料夾裡,它建立在你自己挑的規則上,帶著你刻意設定的停損與部位大小。有兩條路能走到那裡,而它們在投入上真的不一樣:

  • 從範本開始。 從展示區的 84 個預先接好線的策略裡挑一個,再去改它的區塊。這是看到一個完整流程最快的方式,也是最快在不知不覺中繼承一份虧損基準的方式。
  • 從空白畫布開始。 放一個 Start 節點,把指標接進條件,把條件接進訂單區塊,再加上風險設定。比較慢,但你會清楚知道每一條線在做什麼。

不管走哪一條,詞彙表都一樣:8 大類共 118 種區塊類型,每個設計的預算是 50 個節點。這個預算並不是初學者以為的那種限制。整個展示區裡分數最高的範本只用了六個節點。

開始之前:Builder 是什麼,又不是什麼

你需要一個能講成「當 X 發生就買進,當 Y 發生就平倉」的想法、15–30 分鐘,以及一個用來執行結果的 MetaTrader 5 終端機。你不需要 MQL5、不需要編譯器,也不需要 Windows——編輯器跑在瀏覽器裡,編譯發生在伺服器上。

在你投入一個晚上之前,有三條界線值得先知道。

它產生程式碼,它不做交易。 Builder 從不下單、從不連上你的經紀商,也從不發出訊號。它交給你一個檔案。之後的一切都發生在你的終端機、你的帳戶上,由你控制。

設計免費;編譯需要帳號。 拖曳區塊、載入範本、閱讀 Code 分頁的參數預覽,都不需要登入。編譯成 .ex5 與執行強度測試則需要一個電子郵件已通過驗證的免費帳號——未驗證的帳號會拿到 403 與 Your account is not eligible yet 這則訊息,這和完全沒有帳號時看到的 EAB-E601Sign in to compile 是不同的失敗。分得清自己撞到的是哪一種,可以省下十分鐘的困惑。

免費的 .ex5 是被授權的,不是可攜的。 每一次免費編譯都帶著帳號鎖:這支 EA 只在已驗證的 IB 帳號與支援的經紀商上執行,而且 MetaTrader 5 必須在 Tools > Options > Expert Advisors > Allow WebRequest 裡把 https://mt5depot.com 加入允許清單,否則 EA 會在啟動時自我停用。策略測試器的回測不受這項檢查限制——這正是為什麼你可以在綁定任何東西之前就先做測試。可編輯的 .mq5 原始碼是唯一付費的功能,一次性 $399 的 Pro 授權

逐步操作:把 EA 做出來

  1. Builder 頁面打開編輯器——按鈕上寫著 Open the builder — free。不需要安裝任何東西,而且你的工作會自動存在瀏覽器裡。
  2. 挑一個起點。歡迎畫面提供 Build Your EA — FreeStart with blank canvas3-min tour,另外還有一個依 Basic / Intermediate / Advanced / Portfolio 篩選的範本展示區。空白畫布仍然需要一個來自 Utility 面板的 Start 節點——少了它,驗證會用 EAB-E202 把你擋下來。
  3. 放區塊。從左側面板拖曳,或直接雙擊一個項目;Ctrl+K 可以用名稱搜尋全部 118 種類型。把節點右側的輸出埠拖到下一個節點左側的輸入埠來接線,或按節點上的 + 按鈕直接新增並自動連上下一個。
  4. 在右側的 Properties 分頁設定每個區塊的參數。指標的週期、採用價格與時間週期都住在這裡——每一個指標區塊都可以讀取與它所在圖表不同的時間週期,多重時間週期濾網就是這樣在完全不寫程式的情況下做出來的。
  5. Settings 分頁設定整個帳戶層級的規則:Money Management、Filters、Exit Strategy、Position Management、Risk Management。手數預設為固定 0.01,而共用的進場保護在你更改之前預設為 50 pips 停損與 100 pips 目標。
  6. 讀驗證列與 Preflight diagnosis 面板。錯誤會擋住產生,警告不會。一個沒有停損的流程會觸發 CRITICAL 診斷,並要求你確認 Generate anyway? 才會建置。
  7. Measure 執行內建的近似回測——挑一個商品、一個時間週期,以及一個以 points 為單位的點差,然後對照印出來的門檻讀結果。這件事要在編譯之前做,不是之後。
  8. Compile .ex5。伺服器會產生 MQL5、用 MetaEditor 編譯,然後回傳 EA_Builder.ex5。透過 File > Open Data Folder 把它移到 MQL5/Experts,接著在導覽器上按右鍵選擇 Refresh——如果 EA 沒有出現,幾乎都是資料夾的問題,不是檔案的問題。
  9. 在把它掛到任何圖表上之前,先在策略測試器裡測試。掛上去的時候,工具列的 Algo Trading 按鈕必須是開的,而且 EA 的 Common 分頁裡的 Allow Algo Trading 也必須勾選。圖表上出現哭臉代表這兩者其中之一沒開,不代表策略壞了。
  • 挑一個範本或空白畫布
  • 把指標接進條件,再接進訂單
  • 設定停損、目標與手數
  • 測量這個流程的強度
  • 編譯成 .ex5
  • 在 MT5 策略測試器裡測試
  • 先跑模擬帳戶,然後再決定
從一個想法到一支測試過的 EA,免寫程式的路徑

在第 3 步有一個會讓人意外的細節:編輯器會拒絕建置一個可能默默出錯的流程。把指標直接接到訂單區塊,你會得到 EAB-E205——An indicator is wired straight into an action. Insert a condition node (Compare/Cross) in between.。一個從 Start 出發抵達不了的節點會觸發 EAB-E203,並被明白告知它 will not be included in the generated EA。這些不是風格上的提醒。它們正是阻止初學者交出一支中間三分之一什麼都沒做的 EA 的錯誤。

如果編譯本身失敗,通常不是你的設計有問題。EAB-E402 代表 MetaEditor 拒絕了產生出來的原始碼,而它的三個子代碼——未宣告的識別字、參數個數錯誤、語法錯誤——在介面上被標示為 a bug on our side, not yours,並請你附上流程。任何對應器辨識不出來的狀況,都會直接顯示 MetaEditor 的原始錯誤行,而不是一句籠統的道歉,這正是回報它值得去做的原因。EAB-E401EAB-E404 是另一回事:一個是編譯器忙碌,一個是每位使用者的速率限制。兩者都代表該等待,而不是重做。

區塊、進出場條件,以及不能省略的風險設定

整個面板是同一套詞彙,分成八個群組。第一天你用不到其中大部分;你需要知道的是哪一個群組回答哪一個問題。

區塊群組種類數它控制什麼合理的第一組設定
Utility2流程從哪裡開始,以及多重時間週期的讀取一個 Start 節點
Indicators52你的規則所依據的那項測量一個指標,圖表時間週期
Price / Info5原始價格、OHLC、時鐘、帳戶狀態用得到之前先別碰
Conditions10觸發規則的那個比較CompareCross
Filters21什麼時候才允許交易點差濾網、部位數上限
Actions15訂單本身,以及它怎麼平倉Open Buy / Open Sell
Money Mgmt7部位開多大Fixed Lot0.01
Exit Strategy6一個部位怎麼結束固定停損與目標

其中四種類型——加碼、向下攤平、反手進場與全部平倉——只能從 Settings 面板設定。把其中一個放到畫布上,preflight 會用 EAB-E304 擋下來,並告訴你它實際上住在哪裡。這是件小事,但當錯誤訊息很糟的時候,正是這種小事會吃掉你一個小時,而在這裡它並不糟。

兩個條件區塊就能覆蓋大多數人的第一個策略。Compare 問的是一個值是否高於或低於另一個值——RSI 低於 30、價格高於移動平均Cross 問的是一條線是否在這根 K 棒上穿越了另一條線,這是一個和「是否高於」不同、而且嚴格得多的問題。把這兩者搞混,是一個流程不斷觸發而不是偶爾觸發最常見的原因。

決策時機和條件一樣重要。預設是每根收盤 K 棒評估一次,而不是每一個 tick。在 M5 圖表上,這是一小時幾個決策與一小時幾百個決策的差別——而且一條在收盤 K 棒上看起來獲利的規則,一旦被允許在 K 棒中途觸發,行為可能完全不同。

在其他事情之前,先回測

Builder 有一個 Measure 按鈕,而且它會把自己的合格門檻印在結果旁邊:獲利因子至少 1.2、至少 60 筆交易、最大回撤不差於 20%。那條門檻才是有用的部分。它是一個固定、公開的閾值,所以一個結果不是在它之上就是不在,再怎麼盯著資金曲線瞇眼睛都改變不了答案。

以下是那條門檻對內建範本做出的結果。這是我們自己的資料,不是廠商的說法:展示區裡每一個範本都帶著一次執行的實測紀錄,下面這張表把它們數了一遍。我們如何測試說明了這些紀錄必須達到的標準,而彙總腳本就放在儲存庫裡它的輸出旁邊,所以這個計數是可重現的,而不是空口斷言。

入門範本實測
展示區裡的範本84
帶著實測基準的範本53
被 manifest 標記為 weak53 個(共 53 個)
在原廠設定下低於獲利因子 1.046 個(共 53 個)
獲利因子中位數0.92
這組裡最好的獲利因子1.10
通過 Measure 面板自己的合格門檻0 個(共 53 個)
測試條件
實驗編號EXP-BUILDER-TEMPLATE-BASELINE-001
環境Exness MT5
商品 / 時間週期USDJPYm M5
期間2025-06-01 – 2026-06-09
模型M1 OHLC (Model=1)
初始資金10,000
基準測量日2026-06-18
彙總 / 最後驗證2026-08-25
0 個(共 53 個)在原廠設定下通過 Builder 自己合格門檻的入門範本
0.9253 個實測入門範本的獲利因子中位數
1.10最好的範本基準——出自一個六節點的設計,不是二十七節點的

這張表有三種讀法值得說清楚,因為最明顯的那一種並不是最有用的那一種。

複雜度沒有幫上忙。 這組裡最好的基準 1.10,屬於一個六節點的移動平均回檔設計。那個 27 節點的多重時間週期振盪指標堆疊拿到 1.04。全組最差的 0.63,屬於一個 15 節點、帶自動手數計算與移動停損的多重時間週期設計。加區塊等於加參數,而參數正是一個設計走向過度配適的方式,不是它變好的方式。

深度與時間長度是兩個不同的問題。 有一個範本在 8,765 筆交易上跑出 1.03 的獲利因子,最大回撤為 -7.92%;另一個是 0.69,回撤 -22.54%。一個接近 1 的比值,幾乎沒有告訴你抱著它是什麼感覺。

其中八個被搜尋過,而搜尋失敗了。 有八個範本帶著記錄下來的參數掃描——停損與停利的網格跑過三個窗口:樣本內、樣本外,以及在這兩者之前的那一段。八個回來的結果全部都是 no_robust_edge。有兩個連在樣本內都沒有產生過一組獲利的設定。有六個找到了一組,卻無法重現——最好的移動平均交叉組合在 H1 樣本內達到 1.23,在前一個窗口是 0.98;而一組在樣本外守住 1.05 的 CCI 設定,到了它之前的那一段仍然掉到 0.92。門檻是三個窗口全都要贏,而沒有任何一組通過。這比一個調校過的數字誠實得多,也是「要測試你自己的修改,而不是相信任何人的預設值,包括這些」最好的單一論據。

這個測量刻意是近似的——K 棒層級、只涵蓋主要節點,不是一個真正的終端機。它是一道濾網,不是一個判決。任何通過它的東西,接下來都應該編譯出來,在 MT5 自己的策略測試器裡重跑一次,那裡的成交、點差與 tick 模型都是真的。MT5 回測怎麼做拿一份真實發布過的紀錄,把第二次執行從頭到尾走了一遍;至於那些數字其餘的意思,屬於回測指南,不屬於這裡。

  • 測量過這個流程,而且是對照印出來的門檻讀它,不是對照感覺
  • 把編譯好的 .ex5 在 MT5 策略測試器裡、用同一個商品與同一個時間週期重跑過
  • 明確設定了停損,而不是接受 50 pips 的預設值
  • 檢查過你當初必須坐著熬過的回撤,而不是只看最後的結果
  • 跑過一個夠久的模擬帳戶,久到能看見這個策略虧損然後恢復
  • 事先寫下了那個會讓你把它關掉的虧損金額

應該避開的常見錯誤

把範本編譯出來就當作完成了。 這是第一名的錯誤,而且領先幅度很大,上面那張表就是原因。範本是別人已經替你畫好的接線圖。裡面的參數從來沒有被套到你的商品、你的時間週期或你經紀商的點差上。

一路調參數,直到回測看起來好看。 如果你改一個參數、重新測量、再改一次,然後留下最好的那個,你不是在改進策略——你是在把它套到歷史的某一個切片上。展示區裡那八次記錄下來的參數搜尋全部以 no_robust_edge 收場:六次找到了一個在下一個窗口活不下來的樣本內贏家,另外兩次根本沒找到。除非你用同樣的方式檢查,否則你的結果也會是同一個樣子。

只測了幸運的一年。 上面那份基準涵蓋的是一個經紀商、一個商品上的單一一年。這足以說出「這還沒完成」;它遠遠不足以說出「這行得通」。在你相信任何東西之前,先把窗口拉寬,並且換一個商品。

堆濾網去救一條虧損的規則。 有 21 種濾網類型可用,加上其中五個幾乎能讓任何回測變好看。它同時也會把交易筆數砍到讓結果只靠少數幾筆交易撐著。請像盯獲利因子一樣盯著交易筆數——Measure 面板會把低於 60 筆交易的樣本標為過薄,正是為了這個原因。

同時跑好幾支 EA,卻沒有把它們分開。 如果你在一個帳戶上跑不只一支 EA,每一支都需要自己的魔術數字,否則一支 EA 的出場邏輯會把另一支的部位平掉。這件事做對不花任何成本,事後才要診斷卻很痛苦。

跳過模擬帳戶那一關。 回測界定的是一組規則在已記錄的價格上當初可能做到什麼。它不包含你的延遲、你的重新報價,也不包含在你的規則觸發的那一刻張開的點差。這裡沒有任何內容是獲利的承諾,本頁上每一筆紀錄描述的都是過去。

接下來的步驟與各種變化

你接下來往哪裡走,取決於哪一部分讓你覺得不夠。

如果缺的是策略,就從一條你能用一句話講清楚的規則開始,然後做出能表達它的最小流程。在實測的那一組裡,六個節點勝過二十七個節點,所以小的版本不是妥協。在這個時候,瀏覽指標參考比再加一個濾網有用——唐奇安通道突破與 RSI 回歸是兩個相反的想法,而知道自己在做哪一個,決定了之後的每一個參數。RSI EA 怎麼做MACD EA 怎麼做各把其中一種從頭走到尾,也包括內建範本在你改動任何東西之前的成績。

如果缺的是測試,那是更深的一項技能,而且它有自己的家:回測指南。簡短版本是:做樣本外測試、盯著交易筆數,並且把一個你必須搜尋才找得到的結果當成警訊,而不是當成發現。

如果你想在自己動手之前先看一份做完的參考已發布的 EA 每一支都附上完整的平倉交易清單、回撤與執行清單——挑一支從頭讀到尾,因為它讓你看見一份有紀錄的記錄長什麼樣子,也給你一個能拿來對照自己測量結果的東西。EA 自動交易程式能賺錢嗎?用同一份目錄去讀「獲利」從內部看起來到底是什麼樣子,包括那些什麼都不奏效的長段時間。

如果你還在決定要不要自動化EA 與手動交易在一個自由心證交易者真正會用的停損規則下重播自有紀錄,那才是這個比較誠實的版本。

而如果你做出了值得展示的東西,編譯流程會邀請你把它提交到免費的公開資源池——每一筆提交都會經過審核,而一個能在不只一個商品上通過合格門檻的設計,是真的很罕見。免費 EA 怎麼用記錄了那道審核實際上檢查什麼、經過驗證徽章代表與不代表什麼,以及本站免費的那一側靠什麼養活——從投稿者的角度讀,和從下載者的角度讀,一樣值得。

常見問題

真的可以不用寫程式就做出 MT5 EA 嗎?
可以,而且是在最要緊的那個意義上:你完全不必輸入 MQL5。你在畫布上用 118 種區塊類型把邏輯組起來,伺服器會替你產生並編譯 MQL5,回傳一個可以直接執行的 .ex5 檔。免寫程式沒有拿掉的是設計工作。進場規則、出場規則、部位大小與停損仍然由你決定,而這些選擇就是策略本身。編輯器也會拒絕產生某些流程——把指標直接接到訂單區塊會被 EAB-E205 擋下來,直到你在中間插入一個條件節點為止。
EA Builder 是免費的嗎?
設計是免費的,而且不需要帳號:每個設計最多 50 個節點,全部 84 個範本與全部 118 種節點類型都對所有人開放。要編譯成 .ex5 或執行內建的強度測試,需要一個免費帳號,而且電子郵件必須通過驗證。唯一付費的功能是可編輯的 MQL5(.mq5)原始碼,一次性 $399 的 Pro 授權。免費方案沒有每月編譯配額;編譯唯一的限制是為了阻止濫用而存在的個人速率限制。
內建的入門範本可以直接拿去交易嗎?
不行,而且 Builder 自己的紀錄就是這麼說的。84 個展示區範本裡有 53 個帶著實測的回測基準,而這 53 個全部都帶著 weak 標記。53 個當中有 46 個在那次執行裡收在獲利因子 1 以下,中位數是 0.92,並且沒有任何一個通過 Builder 自己 Measure 面板印出來的合格門檻(獲利因子至少 1.2、至少 60 筆交易、最大回撤不差於 20%)。請把範本當成一份已經接好線的起點,而不是一支完成的 EA。
編譯完成之後,.ex5 檔要放到哪裡?
下載下來的檔名是 EA_Builder.ex5。在 MetaTrader 5 裡打開 File > Open Data Folder,把檔案丟進 MQL5/Experts,然後重新啟動終端機或重新整理導覽器。免費的 .ex5 只授權在已驗證的 IB 帳號與支援的經紀商上執行,所以你還必須在 Tools > Options > Expert Advisors > Allow WebRequest 裡加入 https://mt5depot.com,否則 EA 會在啟動時自我停用。策略測試器的回測不受這項檢查影響,這也是為什麼在完成帳號綁定之前就已經能做測試。
我在這裡做出來的 EA 可以販售或分享嗎?
可以分享。按下 Compile 之後、下載完成時會跳出 Share your EA to the pool 對話框,把設計提交到免費的公開資源池,需要填一個名稱、一段簡短說明與選填的回測備註;每一筆提交都會經過審核。販售則是另一個和「做出來」不同的問題:免費方案交給你的是一個授權綁定已驗證 IB 帳號的編譯後二進位檔,而不是可攜的原始碼。可編輯的 .mq5 是 Pro 的功能。