你在 MT5 裡不用寫程式做出一支 RSI EA(智能交易)的方式,是在畫布上放四種區塊:一個 Start 節點、一個 RSI 指標、一個把 RSI 數值拿去和一個門檻比較的條件,以及一個下單區塊。接著伺服器會替你產生並編譯 MQL5。整件事大約十五分鐘,而且從頭到尾都不用碰 MQL5 語法。
比較難的問題是做完之後你手上到底有什麼。這份指南會先把這支 EA 做出來,然後把 EA Builder 自己對同一個設計留下的紀錄讀出來——那份紀錄比任何教學會告訴你的都不好看。
你會做出什麼
一支跑在單一貨幣對上的單部位 EA:RSI 跌破超賣門檻時買進,升破超買門檻時賣出,配一組固定的停損與目標,編譯成一個你可以直接丟進 MetaTrader 5 的真 .ex5。八個區塊。不用寫程式。
那是機械的那一半,而且它真的很簡單。這一頁其餘的部分,是決定這個檔案值不值得跑的另一半。
開始之前:RSI 量的是什麼,又不是什麼
你需要一個附帶已驗證電子郵件的免費帳號(設計是免費的,也不需要登入;編譯成 .ex5 才需要)、大約十五分鐘,以及一個用來測試結果的 MetaTrader 5 終端機。
RSI 回報的是最近 n 根收盤價,落在它自己近期漲幅與跌幅之間的哪個位置,尺度是 0–100。在這個做法裡它只做一件事:說出價格相對於它自己近期的行為,已經往一個方向走得又遠又快。它沒有說的是,這波走勢結束了。這個區別就是這套策略的全部風險——在下跌趨勢裡出現的超賣讀數,是對這個下跌趨勢的描述,不是一個反對它的訊號。
EA Builder 的 RSI 區塊開放這些設定,而預設值就是那些慣例值:
| 區塊設定 | 預設值 | 它控制什麼 |
|---|---|---|
period | 14 | 計算往回看幾根 K 棒。範圍 1–999 |
applied_price | PRICE_CLOSE | 每根 K 棒的哪一個價格餵進計算 |
shift | 0 | 讀哪一根 K 棒——0 是正在形成的那根,1 是最後一根已收的 |
timeframe | 當前圖表 | M1 到 MN1 都可以,和圖表本身分開讀 |
symbol | 當前圖表 | 留白就是用圖表自己的商品 |
timeframe 那一列值得早一點注意。這個區塊可以從一個比它交易所在圖表更高的時間週期讀 RSI。多重時間週期濾網就是這樣不用寫程式做出來的。
逐步操作:在 EA Builder 裡做出這支 RSI EA
- 打開 EA Builder,然後從範本庫載入
rsi_reversal,或者從一張空白畫布開始。載入範本比較快;自己接起來才會學到哪一條線在做什麼。 - 從 Utility 面板放一個 Start 節點。少了它的流程會在產生任何東西之前,以
EAB-E202驗證失敗。 - 加上 RSI 指標區塊並設定
period。第一次做的時候先讓它留在 14,這樣你的結果才和下面的基準可比;如果你希望規則只在已收的 K 棒上判斷,就把shift設成 1。 - 加上一個 Compare 條件,並把 RSI 區塊接進去。這一步不是可有可無的配線:把指標直接接到下單區塊會被以
EAB-E205擋下來——「insert a condition node (Compare/Cross) in between」(請在中間插入一個條件節點)——正是因為一個原始的指標數值並不是一個決定。 - 設定比較方式。買方:RSI 小於 30。賣方:RSI 大於 70。Compare 區塊自己的預設運算子是
>,所以買進那一支才是你必須記得去翻的那一支。 - 把每個條件各自接到自己的 Open Buy / Open Sell 動作區塊。
- 在 Settings 分頁裡設定風險——Money Management(資金管理)與 Exit Strategy(出場策略)。共用的預設值是 50 pip 的停損、100 pip 的目標,以及固定
0.01的手數。一個沒有有效停損的流程會觸發CRITICAL的預檢診斷,並且要你先確認才肯建置。 - 按 Measure 跑內建的近似回測,然後對照面板自己印出來的那條標準去讀:獲利因子至少 1.2、至少 60 筆交易、回撤不差過 20%。
- 按 Compile .ex5,透過 File > Open Data Folder 把下載的檔案移到
MQL5/Experts,然後重新整理導覽器。接著在它靠近任何帳戶之前,先在策略測試器裡好好測一次。
- Start 節點
- RSI 指標,週期 14
- Compare——RSI 低於超賣門檻
- Compare——RSI 高於超買門檻
- Open Buy
- Open Sell
- 停損與停利
- 編譯成 .ex5
有兩個區塊是新手會伸手去拿、但現在還不該拿的。
Cross 問的是一條線有沒有在這根 K 棒上穿過另一條。那是一個比「低於」更嚴格、也不一樣的問題。用在這裡,它只會在 RSI 穿過 30 的那一根 K 棒上觸發——而不是在它待在那底下的每一根 K 棒上。
面板裡也有一個 RSI Divergence(RSI 背離)條件區塊。它偵測的是價格創出新極值而 RSI 沒有跟上,預設值是 level 30、pivot_bars 70 與 near_band 10。它需要一個 shift 設成 1 的 RSI 區塊接進去。那是一套真正不同的策略,不是這一套的調參。
RSI 的進場、出場與參數設定
以下是這個做法開放出來的每一個值,以及動它實際上會發生什麼。
| 設定 | 範本值 | 動它會發生什麼 |
|---|---|---|
RSI period | 14 | 短的反應快、觸發次數多得多;長的比較平滑、很少觸發。它改變交易筆數的程度大於改變勝率 |
| 超賣門檻 | 30 | 越低越嚴格——進場更少、更深。這個範本的身分就住在這裡 |
| 超買門檻 | 70 | 賣方那一側的鏡像 |
shift | 0 | 設成 1 就只在已收的 K 棒上做決定。在 M5 上,這是一小時做幾個決定和做幾百個決定的差別 |
| 停損 | 50 pips(共用預設) | 被搜尋過的範圍是 20–50 |
| 停利 | 100 pips(共用預設) | 被搜尋過的範圍是 20–100 |
| 手數 | 0.01 固定 | 這不是策略設定;它只是把策略做的事等比放大,包括虧損 |
每個人都會問的敏感度問題,誠實地回答。「要不要把 30/70 放寬成 20/80?」是每一份 RSI 教學第一個會建議的事,而這一頁沒辦法告訴你,因為這個範本留下紀錄的搜尋從來沒有改過那兩個門檻。它改的是停損與目標——SL20-50 × TP20-100,在 H1 上橫跨三段區間的 12 組組合——而結論是 no_robust_edge,樣本內最好的獲利因子是 0.91。所以那兩個門檻在這裡仍然是一個未經測試的假設,而那些確實被測過的設定,從任何方向都沒能把這個設計拉到損益兩平。任何人跟你報一個「最好的」RSI 門檻,他報的是一個信念。
回測這支 RSI EA
這是 EA Builder 自己對這個範本量出來的紀錄,不是重跑一次。下面比較表裡的每一個範本,共用它後面那張表裡的同一組條件。我們如何測試說明了這些紀錄必須達到的標準。
rsi_reversal 基準 | 數值 |
|---|---|
| 獲利因子 | 0.94 |
| 交易筆數 | 682 |
| 最大回撤 | -0.97% |
| 淨利 | -51.37 |
| 在 manifest 裡被標為弱 | 是 |
| 在範本庫裡被列為推薦 | 是 |
| 通過 Measure 面板自己的合格標準 | 否 |
| 測試條件 | |
|---|---|
| 實驗編號 | EXP-RSI-RECIPE-BASELINE-001 |
| 母實驗編號 | EXP-BUILDER-TEMPLATE-BASELINE-001 |
| 商品 / 時間週期 | USDJPYm M5 |
| 期間 | 2025-06-01 – 2026-06-09 |
| 模型 | M1 OHLC (Model=1) |
| 初始資金 | 10,000 |
| 環境 | Exness MT5 |
| 基準測量日 | 2026-06-18 |
| 最後驗證 | 2026-08-25 |
那張表的最後兩列要放在一起讀。範本庫把這個範本標成 recommended(推薦),而 manifest 把它標成弱,兩個標記各自對不同的事情是對的:它是這個模式一個乾淨、結構良好的範例,而且它虧錢。在 53 個帶有量測基準的範本裡,有 40 個被標為推薦,而 53 個全部被標記為弱。「推薦」是一句關於配線的話,從來不是關於優勢的話。
RSI 在它的鄰居之間站在哪裡。這八個設計全部在上面那一組條件下量測,這也是唯一可以把它們排在一起比較的理由:
| 範本 | 區塊數 | 獲利因子 | 回撤 | 交易筆數 |
|---|---|---|---|---|
ma_distance_pullback | 6 | 1.10 | -0.26% | 159 |
envelope_reversal | 10 | 0.95 | -1.16% | 989 |
cci_level | 7 | 0.95 | -0.94% | 789 |
rsi_reversal | 8 | 0.94 | -0.97% | 682 |
bb_bounce | 9 | 0.92 | -0.98% | 616 |
stoch_bb | 14 | 0.90 | -1.41% | 888 |
hl_range_reversal | 8 | 0.90 | -1.33% | 573 |
mfi_stddev_revert | 12 | 0.80 | -1.66% | 362 |
只有一個越過了 1.0,而它正好是那個不跟趨勢對打的。ma_distance_pullback 在趨勢還完整的時候買回檔。那是在一個方向裡面做均值回歸,而不是站在它對面。它同時也是這一組裡最小的設計,只有六個區塊。每一個純粹「價格走得太遠,所以要反轉」的範本,包含 RSI 在內,全部收在損益兩平之下。
這是這一頁上支持在 RSI 進場前面放一個趨勢濾網的最強論據。不過它的限制也值得直說。它只做了 159 筆交易,對上 RSI 的 682 筆,所以它是用嚴選換到那個結果的——而四分之一的樣本是一個比較弱的主張,不是比較強的。
常見錯誤
把「超賣」讀成「快要反轉了」。這是這個指標特有的失效方式,也是那些純反轉範本全部擠在 1.0 以下的原因。在一段持續的走勢裡,RSI 會長時間釘在極端值上,而規則會一次又一次地打進一個還沒結束的趨勢。結束那每一筆交易的是停損,這也是為什麼把停損放寬會讓這個特定的設計變得更糟,而不是更安全。
編譯完範本就當作做完了。它同時帶著一個 recommended 徽章和一份虧損紀錄。那個徽章講的是配線。
一直調到回測看起來好看為止。這裡留下紀錄的那次搜尋已經誠實地做過那件事了——12 組組合、三段區間——然後回報 no_robust_edge。如果你自己的調參在一次系統性搜尋沒找到贏家的地方找到了贏家,請先懷疑調參,再去相信那個贏家。那就是過度配適從裡面看起來的樣子。
加貨幣對來把資金曲線抹平。那個兩貨幣對的組合就在上面的表裡:單一貨幣對版本的 37 倍回撤。
相信一個建立在插值 K 棒上的 M5 結果。這個基準用的是 M1 OHLC 模型,所以 K 棒內的走勢是模擬出來的,不是真的。對一條在日內完成交易的規則來說,那是可信範圍裡最粗的那一端——任何看起來有希望的東西,都請拿真實 tick 資料在 MT5 自己的測試器裡重跑一次。
讓它和另一支 EA 並排跑卻沒有把它們分開。同一個帳戶上的每一支 EA 都需要自己的魔術號碼,否則其中一支 EA 的出場邏輯會去平掉另一支的部位。
接下來的步驟與變化
什麼時候根本不該用 RSI。在一個強趨勢的市場裡,一條沒有濾網的 RSI 反轉規則,就是一台專門賣出強勢、買進弱勢的機器。如果你講不出一個能在趨勢期間把這條規則關掉的條件,那麼誠實的選項只有兩個:用一個趨勢濾網,或者換一個想法——均值回歸說明了這一族需要哪些市場狀態,以及那些狀態不在的時候它會付出什麼代價。
值得試的變化,依證據強弱排序。先加一個更高時間週期的方向濾網,因為這一帶唯一越過 1.0 的設計,正是那個要求趨勢完整的設計——RSI 區塊自己的 timeframe 設定不用寫任何程式就能做到這件事。接著試 RSI Divergence 條件區塊,它問的是一個和門檻穿越不一樣、而且更嚴格的問題。只有在那之後,才去動那兩個門檻,而且一次只改一個。
然後好好測它。Measure 面板是一道濾網,不是一份判決:它是 K 棒層級的,而且是近似的。MT5 回測怎麼做把一次真實執行從頭走到尾,包括報告上那兩個回撤數字該相信哪一個,而其餘的回測指南涵蓋了接在後面的最佳化與前推步驟。MT5 MACD EA 不用寫程式怎麼做則是失效方式剛好相反的姊妹篇——它那次搜尋 真的 找到了一組在樣本外還會贏的設定,而這比從頭到尾沒找到更危險。如果這個做法是你的第一個流程,不用寫程式做出 MT5 EA則是對整套區塊語彙更完整的導覽。
而如果你想看看一份有紀錄的成績長什麼樣子,已發布的 EA每一則都附上完整的平倉交易清單與一份執行 manifest。拿其中一則去對照上面那張表,是在你相信任何策略——包括你自己的策略——之前,校準「量測過」應該是什麼意思最快的方法。