XAUUSD 點差比較:為什麼總成本不能只看點差?
我最近整理了一個獨立的 XAUUSD 點差比較頁面。這個頁面不是 Gold Dashboard,而是專門用來比較不同券商與帳戶的 XAUUSD 點差及交易成本。
專案頁面:<copi-tools.com/zh-ha...>
比較頁的目的不是只找出一個最小的點差,而是讓使用者同時看到點差、往返手續費、每手總成本,以及資料屬於 30 日平均還是當日最新。
為什麼點差不是完整成本
不同帳戶的收費方式可能不同。有些帳戶的點差較窄,但會另外收取往返手續費;有些帳戶的點差較寬,但手續費較低。
因此,頁面將成本拆成:
點差
往返手續費
每手總成本
概念上可以表示為:
每手總成本 = 點差成本 + 往返手續費實際計算時,還需要考慮商品規格、點差單位、小數位數與帳戶手續費設定。不能把所有商品都套用同一個固定公式。
分開處理 30 日平均與當日最新
比較頁需要回答兩個不同的問題:
1. 這個帳戶在較長觀察期間的成本大約如何?
2. 最近一次取得的資料顯示什麼狀態?
因此,後端不只保存一個模糊的 `total_cost`,而是分別保存平均值與最新值:
{
"key": "example-account",
"spread_average": "0.040",
"spread_realtime": "0.035",
"average_total": "15.02",
"realtime_total": "14.52",
"commission_label": "$11"
}30 日平均適合觀察較長期間的成本水準;當日最新則反映最近一次資料。兩者用途不同,不能只在前端重新命名同一個欄位。
WordPress、REST API 與前端的分工
這個頁面使用 WordPress plugin 產生初始比較表,並提供結構化 REST API。前端 JavaScript 再負責互動操作:
切換商品
切換 30 日平均與當日最新
依目前模式重新排序帳戶
更新排名區塊
在次要圖表失敗時保留主要表格
第一次載入時先由伺服器輸出可閱讀的 HTML,這樣即使 JavaScript 尚未載入完成,使用者仍然可以看到基本比較內容。
前端也不能在取得新資料以前先清空表格。比較安全的順序是:
1. 取得資料。
2. 檢查 HTTP response 與必要欄位。
3. 確認數值、時間戳記與商品 key 可以解析。
4. 新資料通過檢查後才替換畫面。
5. 如果資料無效,保留最後一次可用內容並顯示狀態。
排名必須與顯示模式一致
如果畫面顯示 30 日平均,排名也應該使用平均總成本;切換到當日最新後,排名則應該改用最新總成本。
否則使用者可能看到平均值欄位,卻得到依照最新值計算的排名,造成數字和排序互相矛盾。
因此,目前的設計讓同一個模式同時控制:
點差欄位
總成本欄位
排序欄位
排名區塊
模式標籤與更新時間
多語言頁面需要分別驗證
英文、繁體中文與越南文頁面的帳戶清單不一定完全相同。某個語言頁面出現的帳戶或排名,不能未經確認就直接複製到其他語言版本。
發布截圖或文章時,我會檢查:
畫面中的帳戶確實存在於該語言頁面
券商與帳戶名稱顯示正確
手續費設定與數值一致
文章、截圖與頁面使用相同資料
沒有把某個語言頁面的結果延伸成所有市場的結論
這部分不只是翻譯工作,也屬於資料設定與產品設計。
目前的限制
目前仍然需要改善:
REST response 的 schema 檢查
資料延遲與快取狀態的顯示
部分帳戶缺少最新資料時的排序行為
帳戶設定變更的追蹤紀錄
各語言頁面的更新時間格式
這個頁面是交易成本資料的整理與比較工具,不提供投資建議、交易訊號、自動交易或獲利保證。顯示數據可能因時間、資料來源與帳戶條件而變動。
結語
XAUUSD 點差比較不只是把數字排列在同一張表。要讓使用者理解比較結果,還需要清楚區分點差、手續費、每手總成本、平均值與最新值,並確保排名使用與畫面相同的資料模式。
如果你也在開發資料比較工具,想請教大家:
你會把平均值還是最新值設為預設顯示?
比較表中最重要的是點差、手續費,還是每手總成本?
當某個帳戶資料延遲時,你會保留舊值、暫停排名,還是隱藏該列?
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

- 来自作者