EA 開發環境的構建
MetaEditor 的安裝與設定
啟動 MT4/MT5 附帶的 MetaEditor,並進行 EA 開發所需的設定。字型大小與顏色設定對編碼效率有很大影響。選擇易讀的字型與適當的大小,打造即使長時間工作也不易疲勞的環境。
顏色設定也很重要。充分利用語法高亮,將變數、函式、關鍵字等以不同顏色顯示,可提升程式碼可讀性。設定醒目的顏色來顯示錯誤與警告也很有效。
務必啟用自動儲存功能。MetaEditor 具備每隔一定時間自動儲存檔案的功能,能防止因系統故障或誤操作造成資料遺失。備份間隔可依工作內容調整。
此外,MetaEditor 還內建程式碼補完、除錯等多項便利功能。善用這些功能可大幅提升 EA 開發效率,請積極運用。
新規 EA 專案的建立
在 MetaEditor 中建立新檔案,並撰寫 EA 的基本結構。為了方便日後管理,請為 EA 指定易於辨識的名稱。版本資訊對於管理 EA 的更新歷史至關重要,初始版本設定為 1.0,並於每次更新時遞增版本號。
設定使用的貨幣對。若 EA 以多個貨幣對進行交易,需指定交易的貨幣對;若專注於特定貨幣對,則僅指定該貨幣對。
設定魔術號碼(Magic Number)。魔術號碼用於識別 EA 發出的訂單,請設定獨一無二的號碼以區分其他 EA 或手動交易。
撰寫註解。將 EA 的目的、邏輯、使用方式等以註解形式記錄,可在日後閱讀程式碼時更易理解。若邏輯較複雜,請務必寫下詳細註解。
プログラミング初心者の方が初めてでもEAを開発できるように解説したページです。このページの内容をマスターすれば…
MQL4/MQL5 的基本
學習用於編寫 EA 的程式語言 MQL4/MQL5 的基本語法。MQL4 用於 MT4,MQL5 用於 MT5。其基本結構類似 C 語言,但提供了大量針對 FX 交易的專用函式。
掌握變數、資料型別、函式、運算子等 EA 建構所需的基礎知識。變數相當於儲存資料的容器;資料型別則指定變數可儲存的資料類型,例如整數型、浮點型、字串型等。
函式是執行特定處理的程式碼集合。MQL4/MQL5 提供多種函式,您可以將它們組合來構建 EA,也可自行定義函式。
運算子是對變數或常數進行運算的符號,包括算術運算子、比較運算子、邏輯運算子等。透過組合這些運算子,可描述複雜條件。
學習 MQL4/MQL5 時,官方文件是極為重要的資訊來源,因為其中記載了函式的詳細規格與使用範例,務必參考。
当サイトはMetaQuotes Software社のMT4(メタトレーダー4)で、EA(自動売買)やカスタムインジケータ…
<はじめに> このサイトはプログラミング言語MQL5で、MT5用のEA(自動売買プログラム:エキスパートアドバイザー)を…
EA 的邏輯構建
進場條件的設定
使用移動平均線、RSI、MACD 等技術指標來設定進場條件。移動平均線計算一定期間價格的平均值,並顯示其變化,用於判斷趨勢方向。RSI 用於判斷過度買入或過度賣出狀態。MACD 用於判斷趨勢強度與方向變化。
透過條件分支(if 語句)與邏輯運算子(&&、||)等,可描述複雜條件。例如:「若移動平均線顯示上升趨勢且 RSI 低於 30,則進行買入進場」。
進場條件是影響 EA 表現的重要因素。結合多種技術指標或加入自訂條件,可構建更精準的進場條件。
分析歷史市場數據,尋找有效的進場條件至關重要。透過回測,可驗證各種進場條件的有效性。
決算條件的設定
設定獲利(TakeProfit)與止損(StopLoss)條件。獲利點是為確定利潤而結算頭寸的價格;止損點則是為限制損失而結算頭寸的價格。這些設定對風險管理極為重要。
利用時間、價格、技術指標等,構建靈活的決算邏輯。例如:「若價格上漲一定幅度即獲利」、「若價格下跌一定幅度即止損」、「若 RSI 超過 70 即獲利」等條件可被描述。
決算條件與進場條件同樣是影響 EA 表現的重要因素。考慮多種因素,設定最適決算條件;分析歷史市場數據,尋找有效決算條件亦十分重要。
使用追蹤停損(Trailing Stop)亦有效。追蹤停損在價格向有利方向移動時,自動提升止損線,能最大化利潤。
資金管理的設定
設定手數量與風險容忍度。手數量代表交易貨幣的數量;風險容忍度則表示單筆交易可容忍的損失比例。這些設定在資金管理中極為重要,過度冒險可能導致重大損失。
可將固定手數、百分比固定、馬丁格爾等多種資金管理手法納入 EA。固定手數即每次以相同手數交易;百分比固定則以帳戶餘額的固定比例決定手數;馬丁格爾則在輸局後將下一筆交易手數翻倍。馬丁格爾風險較高,需謹慎使用。
資金管理是 EA 長期運營中極為重要的要素。適當的資金管理可在降低風險的同時,取得穩定利潤。
透過回測,可驗證各種資金管理手法的有效性。
EA 的測試與優化
回測的實施
使用 MT4/MT5 的策略測試器,對歷史數據進行 EA 的回測。回測是評估 EA 表現不可或缺的流程,根據歷史數據模擬 EA 可獲得的利潤與承擔的風險。
在變更期間、貨幣對、參數等的同時,尋找最佳設定。不同期間測試可評估 EA 在各種市場情況下的表現;不同貨幣對測試可確認 EA 是否已針對特定貨幣對進行優化;調整參數可進一步優化 EA 的表現。
分析回測結果時,除了利潤外,還應考慮最大回撤(Drawdown)。最大回撤表示 EA 可能遭遇的最大損失額;若回撤過大,需重新檢視 EA 設定以降低風險。
回測僅為基於歷史數據的模擬,實際交易結果可能與之不同。
這篇文章提供了對 Tick Data Suite 的詳細說明,這是一個回測工具。Tick Data Suite 是一個獨特的工具,能夠使用真實的 tick 數據進行回測。與普通 MT4 回測不同,它能讓你得到更準確、接近實際交易的結果。本文[…]
前測的實施
在模擬帳戶或小手數下實際運行 EA,評估實時表現。前測是驗證回測結果並確認 EA 在實際交易環境中運作方式的關鍵流程。
確認回測結果與實測是否存在偏差。若偏差較大,可能是回測設定與實際不符,或 EA 邏輯存在問題。
進行前測時,務必考慮交易成本(點差、手續費),因其會削減 EA 的利潤。
建議至少進行數週至數個月的前測。這樣可更準確評估 EA 在各種市場情況下的表現。
分析前測結果時,詳細檢視交易紀錄,了解 EA 如何進行進場與決算,十分重要。
參數的優化
根據回測與前測結果調整 EA 參數。參數優化是提升 EA 表現不可或缺的流程。
最適化工具與遺傳演算法的運用,讓我們追求更高的績效。最適化工具能自動調整參數,尋找最佳設定;遺傳演算法則模擬生物進化過程,用於解決複雜的優化問題。
在優化參數時,注意過度擬合很重要。過度擬合是指將 EA 過度適配於特定過去資料。若發生過度擬合,雖在過去資料上表現優異,但實際交易中績效可能下降。
在優化參數時,應在多個期間和貨幣對上進行測試,尋找通用性高的設定。

利用 EA 製作支援工具
EA BUILDER
這是一款無需複雜程式設計即可製作 EA 的工具。EA BUILDER 為沒有程式知識的初學者設計,讓他們能輕鬆製作 EA。只需在 GUI 上進行各種設定,EA 程式碼將自動生成。
即使是初學者,也能在 GUI 上簡單設定並反映至 MT4/MT5。可在 GUI 上設定技術指標、進場條件、平倉條件、資金管理設定等,並製作 EA。製作好的 EA 可輕鬆導入至 MT4/MT5。
EA BUILDER 旨在降低 EA 開發門檻,讓更多人能參與自動交易。然而,使用 EA 製作機製作的 EA 並不一定能發揮高績效。了解 EA 的邏輯,並透過回測與前測驗證 EA 的有效性,十分重要。
EABuilder.com - Create indicators and strategies for MetaTra…
我發現了一篇有趣的博客,提供關於 **EA Builder** 的詳細資訊,這是一個允許您在沒有程式設計知識的情況下創建自動化交易系統的工具。外匯交易者和投資者可能會從使用 EA Builder 來自動化他們的交易邏輯中受益。 1. 什麼[…]
利用生成式 AI
透過指示 AI 交易策略,可自動生成 EA 程式碼。生成式 AI 能理解以自然語言描述的指示,並根據其生成 EA 程式碼。這樣,即使沒有程式知識的人,也能將自己的想法實現為 EA。
生成的程式碼需要確認與改進,但能提升開發效率。生成的程式碼並非完美,可能包含邏輯錯誤或導致績效下降的部分。因此,必須確認並在必要時修正生成的程式碼。
生成式 AI 是擴展 EA 開發可能性的創新工具。然而,重要的是不要過度依賴生成式 AI,應理解 EA 的邏輯並培養自行修正程式碼的能力。
EA 的運營與管理
使用 VPS
為了讓 EA 24 小時運行,我們使用 VPS(虛擬專用伺服器)。VPS 是存在於網路上的虛擬電腦。透過 VPS,即使自己的電腦未開機,也能讓 EA 24/7 運行。
選擇 VPS 時,請考慮穩定性、速度、價格等。穩定性表示 VPS 運行的穩定程度;速度表示 VPS 的處理速度;價格則是 VPS 的使用費用。
使用 VPS 時,務必做好安全措施。若 VPS 被未授權存取,EA 可能被非法操作,或個人資訊洩漏。請設定複雜密碼、配置防火牆等適當安全措施。
風險管理
持續監控 EA 的運營狀況,徹底風險管理,避免意外損失。透過監控可確認 EA 是否正常運行,或是否發生意外錯誤。若發生意外損失,應立即停止 EA,並調查原因。
利用警報功能與自動停止功能。警報功能在滿足特定條件時,透過電子郵件或推播通知。自動停止功能在達到一定損失時,自動停止 EA。運用這些功能可降低風險。
風險管理是 EA 長期運營中極為重要的要素。適當的風險管理可降低遭受重大損失的風險,並提升穩定收益。
定期維護
定期檢查 EA 的績效,並根據需要調整參數或改進邏輯。市場狀況不斷變化,EA 的績效亦隨時間變化。透過定期檢查並調整參數或改進邏輯,可維持 EA 的績效。
為了應對市場變化,請保持 EA 為最新狀態。新技術指標或交易手法不斷出現,請持續收集資訊並納入 EA,以保持其最新。
定期維護是 EA 長期運營中極為重要的要素。適當維護可維持 EA 的績效,並提升穩定收益。
總結
自行開發 EA 並非難事。只要理解基礎,逐步實踐,即可開發屬於自己的原創 EA。EA 開發需要 MQL4/MQL5、技術分析、風險管理等多種知識,但這些知識可透過 EA 開發自然習得。
希望本文能協助您踏上 EA 自製之旅。EA 開發雖耗時耗力,但能帶來豐厚成就感。請開發屬於自己的原創 EA,盡情享受自動交易的世界。
透過 EA 開發,能深化 FX 交易知識,並培養更高階的交易技巧。EA 開發不僅是構建自動交易系統,更是自我成長的機會。積極挑戰,開啟新可能。
其他參考網站
Amazon: 世界上最簡單的 FX 自動交易 EA 程式設計教科書:初學者免費自製 EA 的方法【2022 年最新 MT4 完全支援】
ここでは、MetaTrader4のEAの作り方について説明します。 もし「自作EAを作ってみたい!」とか「EA作成方法を…
1. 前言 選擇自行製作 FX 自動交易程式 近年,即使在個人投資者之間,「FX 自動交易程式」的使用也在擴大。自動交易正如其名,並非由人類在看圖表時手動進行買賣,而是根據事先設定的規則,程式自動執行交易。 其中,「自行製作」的選擇具有更高[…]








