此为历史版本和 IPFS 入口查阅区,回到作品页
TR‑MATE
IPFS 指纹 这是什么

作品指纹

把 MT5 的資料送進 WordPress:我的 XAUUSD 黃金儀表板實作記錄

TR‑MATE
·
·
這篇文章記錄如何把 MT5/MQL5、VPS、Python 與 WordPress REST API 串接,建立可分區更新的 XAUUSD 資料儀表板,並分享快取、局部更新與錯誤隔離的實作經驗。

我一直對「如何把分散在不同服務中的資料,整理成一個容易閱讀的介面」很有興趣。最近實作了一個 XAUUSD 黃金資料儀表板,過程中串接了 MT5、MQL5、Windows Server VPS、Python、WordPress REST API 與前端 JavaScript。

這篇文章記錄的不是交易策略,而是資料如何被取得、處理、儲存,再呈現在 Web 頁面上。

專案頁面:<copi-tools.com/zh-ha...>

公開的 XAUUSD 儀表板首頁,展示主要圖表與市場資料區塊。

## 整體資料流程

目前的資料流程大致如下:

MT5/MQL5 → Windows Server VPS → WordPress REST API → WordPress plugin → JavaScript 圖表介面

不同資料類型會走不同的處理流程,避免所有內容都綁在同一個請求上。

## 從 MT5 取得 K 線資料

`exness-send-price-sw...5` 會在 MT5 環境中取得 XAUUSD 的 M1 K 線資料,再透過 HTTP POST 傳送到 WordPress 的 `gold-bars` API。

WordPress 收到資料後,會依照時間週期整理與儲存。前端則根據使用者選擇的週期,載入 M1、M5、M15、M30、H1、H4 或 D1 的資料。

選定時間週期後的 XAUUSD K 線圖,畫面中顯示技術指標

另一個 MQL5 工作流程 `gold-analysis-export...5` 會輸出 OHLC、EMA、RSI、ATR、MACD 與 Bollinger Bands 等資料,提供後續分析流程使用。

## VPS 上的 Python 分析流程

VPS 上的 Python 排程工作會讀取 JSON 資料,呼叫 Gemini API 產生市場背景分析,檢查回傳格式後,再將結果傳送到 WordPress 的 `gold-analysis` API。

這裡特別加入格式檢查,因為外部 API 回傳的內容不一定永遠符合預期。如果未經檢查就直接寫入資料庫,前端可能會遇到格式錯誤,甚至影響其他區塊的顯示。

## 為什麼要分區更新?

價格、圖表歷史、技術指標、新聞與市場背景的更新速度並不相同。

如果每次開啟頁面都重新取得全部資料,會增加伺服器負擔,也會讓使用者等待較久。因此目前採取以下方式:

- 歷史 K 線資料優先使用快取

- 只更新最新一段價格資料

- 圖表與分析內容分開載入

- 不讓單一 API 失敗阻塞整個頁面

前端 JavaScript 會使用局部更新,讓需要變動的 fragment 重新載入,而不是每次都重建整個頁面。這也讓 WordPress 原本的頁面結構可以保留,同時加入較具互動性的資料區塊。

## 實作中遇到的問題

### 1. 不同時間週期的資料量不同

M1 資料量通常較大,D1 資料量則相對較少。如果所有週期都採用相同的載入方式,會造成不必要的資料傳輸。因此需要將歷史資料、最新資料與圖表顯示分開處理。

### 2. 多個服務之間可能同時發生錯誤

MT5、VPS、Python、外部分析 API 與 WordPress 之間有多個連接點。任何一個服務暫時無法使用,都可能影響資料更新。

解決方式是讓價格、分析與其他資料區塊彼此獨立。當某一個來源暫時沒有回應時,介面仍保留其他可用內容,並讓使用者稍後重新整理。

### 3. 前端不應該假設資料永遠完整

實際環境中的資料可能延遲、缺漏或格式不完整。因此前端顯示前也需要檢查資料狀態,避免把空資料當成正常結果。

## 這次實作的收穫

這個專案讓我重新思考 WordPress 的用途。WordPress 不只是內容管理系統,也可以作為資料型 Web 工具的基礎,透過 plugin、REST API 與 JavaScript 建立較複雜的互動介面。

黃金儀表板的「市場分析」區塊,展示與 XAUUSD 圖表相關的結構化技術資料與市場背景。

同時,將資料收集、資料分析、API 儲存與前端顯示分開,也讓日後更容易替換其中一個部分。例如可以單獨調整快取策略,或修改分析流程,而不必重寫整個頁面。

## 使用說明與限制

開啟儀表板後,可以選擇不同的 XAUUSD K 線時間週期,查看對應的圖表與技術資料。新聞、分析與市場背景會依照各自的更新週期載入,因此不同區塊不一定會同時更新。

目前這個專案主要用於資料整理、技術研究與 Web 介面實作展示。資料可能存在延遲、缺漏或暫時無法更新的情況。

本專案不提供投資建議、交易訊號、自動交易或獲利保證。使用者應自行判斷資料的適用性與可靠性。

CC BY-NC-ND 4.0 授权