MT5 × API × AI 黃金自動交易 非工程師與AI

不靠直覺,用統計找出黃金(XAUUSD)的交易策略 ── 15 年數據挖出的「星期五反彈」

自動交易最難的,不是寫程式,是「邏輯」

上一篇,我們讓 Python 成功讀到了黃金(XAUUSD)的報價,打好了地基。

接下來,照理說該寫「下單的程式」了。但在那之前,有一件更重要的事 ── 決定「要照什麼規則買賣」

自動交易的本質,是把「買賣的判斷」變成電腦能 24 小時執行的規則。程式碼再漂亮,如果背後的規則沒有「優勢(edge)」,那它只會很有效率地、穩定地賠掉點差和手續費

所以這一篇,先不碰下單。我們要做的是 ── 不靠直覺、不靠感覺,用 15 年的真實數據,找出黃金「真的存在的傾向」,把它當成策略的核心。

而這種「翻 15 年數據做統計分析」的工作,過去是工程師、量化交易員的專利。但現在,有 AI(Claude Code)幫忙,不會寫程式的我,也能親手做黃金量化交易了。

我給自己的一條鐵則:「不要用想像寫策略」

開始之前,先立一條規矩。

匯商人士
匯商人士
我想用程式自動交易黃金,但我不會寫程式,連「要照什麼規則買賣」都還沒頭緒……
那我們別憑感覺。你電腦上的 MT5 我已經連好了,我直接把過去 15 年的黃金數據抓下來,用統計找出「真的存在的規律」,怎麼樣?
Claude
Claude
匯商人士
匯商人士
可是資料我自己抓不來欸。
不用你動手 ── 我抓好了:日線 3,957 根、小時線 90,504 根,從 2011 年到現在。接下來換我來找規律。
Claude
Claude

🎯 鐵則:不要用想像、用數據。 「黃金跌多了應該會反彈吧」「行情大概禮拜五容易漲」── 這種「感覺」在交易裡最危險。感覺對的事,數據上常常不成立;數據上成立的事,又常常違反直覺。所以這個系列,所有規則都必須通過 15 年數據的檢驗,才准採用。

我用的數據,是從上一篇連好的 ThinkMarkets MT5,請 Claude Code 幫我抓下來的:

  • 日線(D1):3,957 根 / 2011 年 1 月 ~ 2026 年 6 月(約 15.4 年)
  • 小時線(H1):90,504 根 / 同期間

💡 先講清楚限制(這很重要)。 這些數據來自單一券商(ThinkMarkets)。「傾向」本身是市場共通的,但精確的數字會因券商而有些微差異。而且過去成立,不保證未來成立 ── 這是所有歷史回測的天花板。我會盡量誠實地把「優勢有多大、有多可靠」攤開給你看,不誇大。另外,本文說的「星期五」和「開盤/收盤」,都是以 ThinkMarkets 伺服器時間(UTC+3)的 D1 日線為準 ── 星期幾效應會隨券商的結算時間略有不同,換券商時要重新驗證。


匯商人士
匯商人士
等等,你剛說的「t 值」是什麼?我完全沒聽過。
它是在判斷「這個規律是真的,還是只是運氣」。你只要記一個門檻:t 值的絕對值 ≧ 2,在單一檢定下大致可當參考 ── 代表這個傾向「統計上比較不像是偶然」,但不是百分之百的保證。我每個發現都會附上它,你就知道哪些比較可信。
Claude
Claude
匯商人士
匯商人士
原來如此,那就用這個當我們的標準。

找策略的方法:用「t 值」抓出「不像偶然」的傾向

統計分析聽起來很難,但核心觀念只有一個:「這個傾向,是真的,還是只是運氣(偶然)?」

判斷的工具叫 t 值。你不用懂它的數學,只要記一個門檻:

|t| ≧ 2,在單一檢定下,大致代表「統計上比較不像是偶然」 ── 也就是「這個傾向比較像是真的」。(這只是粗略的參考;檢定的項目一多,還得再打折扣。)

我請 Claude Code 寫了分析程式,並且特別交代它三件「容易作弊、一定要避免」的事:

  • 前視偏誤:判斷當下,絕不能偷看「未來才會知道」的資料。(例如要在星期五開盤判斷,就只能用到星期四收盤為止的資訊。)
  • 樣本內/樣本外:把 15 年切成前半、後半,看傾向在「沒看過的後半」還成不成立。
  • 多重比較:檢定的項目越多,越容易「矇到」假的顯著。所以還要看「解釋得通嗎」。

🔧 不會寫程式怎麼做這些? 我做的事,其實只是用中文(我自己用日文)跟 Claude Code 說:「幫我算黃金每天的報酬,按星期幾分組,算平均、勝率和 t 值,注意不要有前視偏誤。」剩下的 pandas、numpy 那些程式,全是它寫的。我負責『想問什麼』,它負責『算給我看』。


我按「星期幾」把 15 年的報酬分組算完了。你看這張圖 ── 週一到週四都貼著零,只有星期五明顯突出。
Claude
Claude
匯商人士
匯商人士
欸,真的差這麼多!那月份呢?有沒有哪個月特別強?
一月也很強,但一年只有一次、很難累積驗證。星期五一年有約 52 次,我建議先從星期五下手。
Claude
Claude
匯商人士
匯商人士
同意,先攻星期五。

第一個發現:黃金的「星期五」和「一月」特別強

最先檢驗的,是最經典的「季節性」── 行情會不會在特定的星期幾、月份,有固定的傾向?

結果,星期五跳了出來。

黃金量化交易:XAUUSD 各星期幾平均日報酬
圖①:XAUUSD 各星期幾的平均日報酬(2011–2026)。只有星期五明顯突出(t=2.73)。
星期平均日報酬勝率t 值
-0.006%49.9%-0.15
+0.021%52.8%0.59
+0.013%52.7%0.39
+0.038%50.6%1.06
+0.106%56.2%2.73 ★

星期一到星期四,平均報酬幾乎貼著零、勝率約 50%(跟丟銅板沒兩樣)。只有星期五,平均 +0.106%、勝率 56.2%、t 值 2.73,明顯不像偶然。

月份的分析裡,則是一月最突出(+0.166%、t 值 2.99)。這兩個,剛好都和市場上早就有人談過的「黃金一月行情」「週末前的避險買盤」吻合 ── 既有統計支持、又解釋得通,可信度就高。

💡 為什麼這篇選「星期五」不選「一月」? 因為一月一年只有一次,一年只能交易一次,太難累積經驗、也太難驗證。星期五一年有約 52 次,機會多、好驗證、好學習,更適合當作第一個題材。


匯商人士
匯商人士
那……是不是乾脆抱著過週末,放到下週賺更多?
我拆開算過了:抱過夜那段勝率只有 38%,優勢幾乎全在「星期五白天」。所以規則應該是 ── 開盤買、收盤賣,當天就結清、不留倉。
Claude
Claude
匯商人士
匯商人士
好,不貪那一塊。

深挖星期五:優勢全在「白天」,留倉過夜沒用

選定星期五後,下一個問題是:「優勢」到底發生在哪個時段?

我把星期五的報酬,拆成兩段來看:

  • 隔夜:星期四收盤 → 星期五開盤(也就是「抱著過夜」賺賠的部分)
  • 日內:星期五開盤 → 星期五收盤(也就是「白天持有」賺賠的部分)
區段平均報酬勝率t 值
隔夜(四收→五開)+0.001%38.0%0.39
日內(五開→五收)+0.105%56.4%2.68 ★

結果很乾脆:星期五的優勢,全部集中在「白天」。 抱著過夜(隔夜)那段,勝率只有 38%,幾乎是零、甚至偏負。

這直接給了我們策略的雛形:

🏁 規則雛形:星期五「開盤買進、收盤賣出」,當天結清、不留倉過夜。


我再往下挖了一層,想知道「什麼樣的星期五特別強」。結果關鍵在前一天 ── 星期四如果是下跌的,星期五的反彈就特別猛,勝率有 62%。
Claude
Claude
匯商人士
匯商人士
喔!所以它其實是「跌深反彈」,不是單純星期五會漲?
正是。這樣它就「解釋得通」了 ── 一個說得出道理的規律,比數字漂亮更讓人安心。
Claude
Claude

星期五效應的真面目:它其實是「逢低反彈」

接著是這篇最關鍵的發現。我請 Claude Code 用「星期五開盤時就已經知道的資訊」(沒有前視偏誤)去分組,想看看「什麼樣的星期五特別強」。

答案非常清楚 ── 關鍵在「前一天的方向」。

條件(星期五開盤時已知)平均日內報酬勝率樣本數t 值
星期四下跌 → 星期五+0.168%62.1%3882.71 ★
星期四上漲 → 星期五+0.045%51.0%3880.94
最近 5 天下跌 → 星期五+0.156%59.6%3542.74 ★

當星期四是「下跌」時,星期五的反彈特別強(勝率 62%)。反過來,如果星期四在漲,星期五的優勢幾乎消失(勝率 51%,跟丟銅板一樣)。

換句話說,「星期五效應」的真面目,是「逢低反彈/週末前的回補買盤」:行情前一天跌了,星期五容易拉回來一點。

💡 這一步為什麼重要? 因為它從「星期五會漲」這種模糊的迷信,變成了有道理可講的機制(跌深的反彈)。一個策略「解釋得通」,比「數字好看」更讓人安心 ── 因為你會知道它什麼時候會失效。

於是規則進化成:

規則(第二版):只挑「星期四下跌」的星期五,開盤買、收盤賣。


不過回測的時候,我發現一個危險的東西……最慘的一筆,單筆就賠了 508 美元。
Claude
Claude
匯商人士
匯商人士
等等,那在我這種 1,000 美元的小帳戶,一筆不就直接 -50%?!
對。所以這個策略不能裸著上場,一定要加停損。
Claude
Claude

殘酷的回測現實:沒有停損,一次崩盤就吃掉十年

規則有了,接著就是回測(backtest)── 拿這個規則去跑過去 15 年,看實際的成績。我請 Claude Code 把成本(點差,保守抓來回 0.30 美元)也扣掉,用「淨值」來算。

先看「過濾」有沒有用 ── 比較「每個星期五都做」vs「只做星期四下跌的星期五」:

策略勝率平均獲利因子最大回撤
每個星期五(基準)55.2%+0.088%1.26-16.0%
只做星期四下跌60.3%+0.149%1.45-9.8%

過濾確實有效:勝率從 55% 升到 60%、獲利因子(賺賠比)從 1.26 升到 1.45、最大回撤幾乎砍半。「少做一半、但做的品質更好」。

但是 ── 當我把它換算成「實際用 0.01 手(最小單位)操作」的金額時,看到了一個嚇人的數字:

Cumulative P/L no-stop vs ATR stop
圖②:「星期四下跌→星期五」策略的累積損益(0.01 手)。藍線(無停損)在 2025–2026 出現懸崖式暴跌;金線(1.0×ATR 停損)更平滑、最終更高。
星期四下跌策略・無停損(0.01 手、15.3 年)數字
總損益+$738
勝率60.3%
最慘的一筆-$508
最大回撤-$529

勝率有 60%,總共也是賺的。但最慘的一筆,單筆就賠了 508 美元 ── 在一個只有 1,000 美元的帳戶裡,這一筆就是 -50%。

⚠️ 這就是「尾部風險」。 平常贏面不錯,但只要遇到一個「崩盤的星期五」(恐慌性下殺,反彈不來),一筆就能吃掉你好幾年累積的獲利。 沒有保護機制的策略,不能用。


匯商人士
匯商人士
可是加了停損,獲利不是會被砍掉一塊嗎?
我本來也這樣以為。但我把停損從寬到窄都測了一遍 ── 結果意外地「攻守兼得」:用 1.0×ATR 停損,總獲利從 738 升到 1,187 美元,最慘一筆反而從 -508 縮到 -161。
Claude
Claude
匯商人士
匯商人士
賺更多、又賠更少?那還猶豫什麼,就用它。

加上 ATR 停損:意外地「攻守兼得」

解法是大家都聽過的兩個字 ── 停損。我用 ATR(平均真實區間,一個衡量「最近行情波動多大」的指標)來設停損點:在開盤價下方 K × ATR 的地方掛停損,跌到就先認賠出場。

我請 Claude Code 把 K 從寬(2.0)一路測到窄(0.5),看哪個最好。結果出乎意料 ── 停損不只降低風險,連報酬都一起變好了。

Effect of ATR stop width
圖③:停損鬆緊(K×ATR)的影響。灰/金柱=總獲利、紅線=最慘一筆。收緊到 0.75~1.0×ATR 時「攻守兼得」。
停損(K×ATR)勝率總損益獲利因子最慘一筆夏普值
無停損60.3%+$7381.26-$5080.61
1.5×ATR60.3%+$1,0161.40-$2180.74
1.0×ATR59.5%+$1,1871.51-$1610.84
0.75×ATR57.7%+$1,2291.55-$1210.87
0.5×ATR51.5%+$1,0771.52-$810.72

1.0×ATR 為例:總損益從 $738 升到 $1,187(+61%)、夏普值從 0.61 升到 0.84、獲利因子升到 1.51,同時最慘一筆從 -$508 縮到 -$161。

為什麼會「攻守兼得」?因為停損早早砍掉了那些「崩盤星期五」── 那些單筆巨虧,本來就是在拖累總成績。把它們切掉,風險和報酬就一起改善了。

💡 但別以為越緊越好。 停損收到 0.5×ATR 時,勝率掉到 51%、有 35% 的交易被洗出場(whipsaw),成績反而變差 ── 停損太緊,會在正常的波動裡被「巴來巴去」。甜蜜點落在 0.75~1.0×ATR。 不過先打個預防針:這個甜蜜點是在「同一份 15 年數據」上挑出來的,所以它不是永久最佳參數,而是下一步要用樣本外(out-of-sample)和實盤模擬繼續驗證的「候選範圍」。


再補一個重要的修正:我一度以為這策略「近年在衰退」,但重新檢查後發現 ── 那其實只是那幾筆沒控制好的崩盤在拖累。加上停損後,近年一樣健康。
Claude
Claude
匯商人士
匯商人士
所以差點被表面的數字騙了。還好你多追問了一層。

最重要的修正:「優勢在衰退」其實是錯覺

在加停損之前,我一度擔心一件事:把 15 年切成前後兩半,後半(2018 年之後)的優勢,看起來在衰退(獲利因子只剩 1.10)。難道這個策略已經失效了?

但加上停損後,真相浮現了:

星期四下跌策略無停損1.0×ATR 停損
前半(~2018)總損益+$542+$546
後半(2018~)總損益+$196+$640
後半 最慘一筆-$508-$161
後半 獲利因子1.101.41

看出來了嗎?後半「看起來衰退」,根本不是優勢消失,而是那幾筆「沒有控制的崩盤虧損」(-$508)在拖累。 一旦加上停損切掉尾部,後半立刻變回健康($196 → $640、獲利因子 1.10 → 1.41)。

而且勝率從頭到尾都很穩定(前半 61%、後半 59%,幾乎沒變)。崩掉的從來不是「贏的次數」,只是「輸的時候輸太多」── 而停損,正好治的就是這個。

🔑 這就是數據誠實的地方。 如果只看表面,我可能會誤判「策略過時了」而放棄一個好東西;也可能反過來,被漂亮的總報酬騙過去、忽略了那筆 -$508 的致命傷。把數據攤開、一層層追問,才看得到真相。

確定!這就是「AI 要超越的基準線」

繞了一大圈,我們得到了一個有根據、扛得住回測、前後半都穩的策略核心:

✅ 基準策略 「星期四下跌 → 星期五開盤買進 → 用 1.0×ATR 停損保護,否則收盤平倉」(0.01 手、不留倉)

15.3 年回測(已扣成本): 總損益 +$1,187|勝率 59.5%|獲利因子 1.51|夏普值 0.84|最慘一筆 -$161 ── 而且前半、後半都成立。

這個「樸素但扎實」的基準,就是下一篇 AI 要挑戰、要超越的對手

⚠️ 先把現實講清楚:這不是印鈔機

我必須誠實地說兩件事:

  1. 這個優勢是「中庸」的,不是暴利。 0.01 手(最小單位)一年大約賺 50~80 美元。它真實存在、扛得住 15 年回測,但它不會讓你一夜致富。它是「微小但可靠」的那種優勢。
  2. 在現在的高價、高波動環境,風險不小。 黃金漲到 4,000 美元以上後,1×ATR 大約等於 100~150 美元。也就是說,即使只做 0.01 手、即使有停損,最慘一筆也可能是 -$161,等於 1,000 美元帳戶的 16%。 所以「極端波動的星期五」必須避開。

而「判斷一個下跌,是『能買的逢低』還是『該閃的崩盤』;判斷波動是不是極端到該收手」── 這種需要看當下盤面、靈活拿捏的事,正是死板的規則做不到、而 AI 擅長的


匯商人士
匯商人士
整理一下 ── 我們現在有一條「有根據、扛得住 15 年回測」的策略了。而且我幾乎沒寫半行程式。
對,而且每一步都是用數據決定的,不是憑感覺。下一篇,換我來當「最後的把關者」,幫你把那些會崩盤的星期五擋掉。
Claude
Claude

下一篇預告:讓 AI(Claude)來「挑單」

所以第三篇,我們要做的就是:

🤖 第三篇:讓 AI(Claude)扮演「最後的把關者」。 在「星期四下跌的星期五」這個機械條件之上,讓 AI 看當下的盤面(趨勢、波動、最近的走勢、有沒有重大事件),判斷「這個逢低能不能買」,回答「進場/略過+信心程度」 ── 目標是把上面那條基準線,跑得更穩、把最慘的幾筆閃掉。但有一點我會堅持:AI 的判斷也必須被規則化、被記錄、被回測,跟前面的策略一樣用數據檢驗,而不是憑感覺臨時加碼。

不靠直覺、用數據打地基,再用 AI 補上「臨場判斷」── 這就是不會寫程式的我,想打造的黃金交易系統。

第二篇總結

✅ 用 15 年數據、靠 t 值,找出黃金真實存在的「星期五效應」

✅ 看穿它的真面目是「逢低反彈」,並用「星期四下跌」當過濾條件

✅ 回測揭露「沒停損會被一次崩盤毀掉」,加上 1.0×ATR 停損後「攻守兼得」

✅ 確定了一條前後半都成立的基準策略,當作下一篇 AI 要超越的對手

🔑 這次的檢查點 重點不是「我找到了一個會賺的策略」,而是「我用數據、而不是用感覺,做出了每一個決定」。這個過程本身,不會寫程式的你,靠 AI 也複製得來。

⚠️ 再次提醒:本系列不是投資招攬。黃金(XAUUSD)波動很大,自動交易有風險。文中所有數字都是歷史回測,不代表未來。我自己也是先從不動錢的「讀取」與「模擬」做起,實際下單會等到完全理解後,才用最小單位謹慎進行。

下一篇,我們就讓 AI 真正開始「做判斷」。

  • 本文作者

匯商專業人士

1985年出生於台灣。
99年因為父親的工作來到日本。
畢業橫濱大陸系中華學校與日本國內大學。
07年到職日系製藥公司,10年換工作到日本外匯公司。在疫情期間離職(被開除),開始做專業投資者。(無職)
2013年開始海外外匯交易平台投資。開戶過23家海外外匯經紀商的帳號,其中遇到過3次詐騙平台。
2022年由於公司的業績不佳,被開除。開始專業投資者的生活,也就是“無職”
關於筆者的詳細介紹
筆者Facebook

-MT5 × API × AI 黃金自動交易, 非工程師與AI