MultiCharts 下單機怎麼架設?VPS、券商 API、斷線與風控
一台安全的 MultiCharts 下單機有四層:穩定的電腦或 VPS、設定正確的券商 API 連線、斷線後先對帳再重啟的部位同步程序,以及口數上限加一鍵停機的三層風控。口數與每日虧損門檻不要憑感覺填,從回測報告的交易筆數、平均每筆損益與最大回撤推回來。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
MultiCharts 下單機要怎麼架設才安全?
MultiCharts 下單機要安全,靠的是四層:供電與網路穩定的電腦或 VPS、設定正確的券商 API 自動交易連線、斷線後先對帳再重啟的部位同步程序、以及口數上限加一鍵停機的風控。少掉任何一層,它只是一台會下單的電腦,不是下單機。
下單機是一台長時間開著、由 MultiCharts 依策略訊號自動把委託送到券商的電腦。它像家裡的瓦斯爐:有火、有管線、有開關、有漏氣偵測,四樣都在才叫安全的廚房。多數人架下單機時把心力放在第一層(買好電腦、租 VPS),但我的看法是:真正出事的地方幾乎都在第三層與第四層,也就是斷線後的處理順序,以及有沒有一個不靠策略本身就能擋住錯單的機制。後面每一節都會回到這個觀點。
- 硬體與電力/網路:擋的是停電、斷網、作業系統自動重開機。
- 券商 API 連線:擋的是憑證過期、委託送出但沒收到回報。
- 部位同步程序:擋的是斷線後策略以為的部位和券商帳上的部位不一樣。
- 風控與停機開關:擋的是策略邏輯本身出錯,或連線異常造成的重複送單。
如果你還在比較要用哪個平台跑自動交易,不寫程式也能自動交易的平台差異整理了各類工具在下單與回測上的分工;本文假設你已經決定用 MultiCharts。
MultiCharts 下單機需要 VPS 嗎?
需不需要 VPS,取決於策略的持倉時間,以及交易時段你人在不在機器旁邊。VPS(虛擬私人伺服器)是向機房租用的一台遠端 Windows 電腦,透過遠端桌面操作,它不會因為你家停電或光纖斷線而關機。只跑台指期日盤、人就在電腦旁的交易者,一台家用電腦加 UPS(不斷電系統)就夠;策略會跨夜、或是跑 NQ、ES 這類在台灣時間深夜仍在交易的海外商品,就值得把下單機放到 VPS。
兩種做法的差別不是誰比較好,而是風險坐在哪裡:
| 風險點 | 家用電腦+UPS | VPS/機房 |
|---|---|---|
| 停電 | 中(UPS 只能撐幾十分鐘) | 低(機房有備援電力) |
| 家用網路斷線 | 高(光纖、路由器任一故障就斷) | 低 |
| Windows 自動更新重開機 | 中(可設定活動時段與暫停更新) | 中(同樣要設定,且沒人在旁邊看) |
| 遠端操作延遲 | 無(人在機器前) | 中(遠端桌面要幾秒才接上) |
| 月費 | 電費 | 每月固定租金 |
| 適合的策略 | 日盤為主、有人在旁盯著 | 跨夜持倉、海外夜盤 |
不論選哪一種,要處理的斷點都是三個:電力、網路、自動更新。家用方案的做法是 UPS 加一條 4G 或 5G 的備援網路;VPS 方案的做法是把 Windows 的活動時段設定成涵蓋整個交易時段,並且在非交易日手動完成更新。VPS 也會故障,所以兩種方案都要在手機上保留券商 App,確保遠端桌面連不上時,你仍然能看到帳上部位並平倉。
MultiCharts 自動下單怎麼跟券商 API 連接?
連線要照固定順序做,每一步確認成交回報之後才做下一步。Broker Profile(券商設定檔)是 MultiCharts 裡存放券商 API 帳號、憑證與下單參數的設定;先把它接到模擬帳號,確認委託送得出去、回報收得回來,再接實單帳號。台灣券商的 API 多半需要先在券商端申請開通並安裝憑證,這一步沒做完,後面所有設定都會停在「連線失敗」。
- 券商端開通 API 並安裝憑證。過關條件:券商提供的 API 測試工具能登入並查到帳號餘額。
- 在 MultiCharts 建立 Broker Profile。過關條件:連線狀態顯示已連線,帳號資訊正確。
- 用模擬帳號手動送一筆委託並看回報。過關條件:Order and Position Tracker(委託與部位追蹤視窗)顯示成交回報,部位數量正確。
- 在圖表上開啟自動交易,設定 SA/AA 模式與下單口數。過關條件:策略訊號出現時,委託自動送出且回報回來。
- 以最小口數跑實單一到兩週。過關條件:每一筆成交都對得上策略訊號,沒有多送或漏送。
第四步的模式選擇要先弄懂。SA(同步自動交易)模式是策略部位以券商回報為準:委託送出後,MultiCharts 等到成交回報才把部位記入策略。AA(非同步自動交易)模式是策略依自己的計算記錄部位,不等券商回報。SA 模式比較不會出現策略和帳上部位不一致,但委託被拒絕或部分成交時策略會停下來等;AA 模式訊號連續,但一次拒單就會讓兩邊的部位開始分歧。對日線、小時線這類不需要搶秒的策略,SA 模式通常比較省事。
策略原始碼本身若是在 AlphaPrime (Valynox) 完成搜尋與驗證後,經由平台匯出輸出成 PowerLanguage 匯入 MultiCharts,它仍然要走完上面五步,因為連線設定與策略程式碼是兩件事。匯入後如何對照回測結果,把策略匯入 MultiCharts 並比對回測有逐步說明。
下單機斷線了怎麼辦?部位同步的步驟
斷線後第一件事是停用自動交易並對帳,最後一件事才是讓策略接手。部位同步是把券商帳上的實際部位和 MultiCharts 策略認定的部位調整到一致的程序。順序反過來,也就是先重啟策略再看帳,會出現兩種常見錯誤:策略以為空手而帳上已有一口,於是再買一口變成兩倍部位;或者策略以為有多單而帳上其實是空手,反手訊號一來就送出賣單,帳上變成反向單。
- 發現斷線,先在圖表上停用自動交易。這一步防止連線恢復的瞬間策略補送一堆排隊的委託。
- 到券商 App 或下單軟體查實際部位與未成交委託。以券商為準,不以 MultiCharts 為準。
- 和策略部位比對。MultiCharts 的 Order and Position Tracker 會分別顯示策略部位與券商部位,兩個數字要一樣。
- 不一致就手動補單或平倉到一致。規則是把帳上部位調到策略應有的部位;若判斷不出策略應有的部位,就全部平倉,讓兩邊都歸零。
- 重新連線,確認狀態,再恢復自動交易。恢復前再看一次兩邊部位。
把這五步印出來貼在螢幕旁邊,並寫上券商客服電話。凌晨三點被手機提醒吵醒時,人不會思考,只會照紙上的順序做,這正是程序存在的目的。
下單機要設哪些風控?停機開關與口數上限
風控要分三層同時設,而且任何一層都要能在其他兩層失效時獨立擋住錯單。每日虧損停機是指當天已實現加未實現虧損達到事先寫好的金額時,自動把部位平掉並停用自動交易。這三層像是淨水器的三道濾心:每一道擋的雜質不同,水要通過全部三道才會流出來。
- 券商端:單筆最大口數與每日累計口數上限,由券商系統執行。就算 MultiCharts 整台當機,這一層還在。若策略會直接反手(多一口翻成空一口),單筆委託的量可能是兩口,單筆上限要容得下反手,但最大淨部位仍只設策略需要的口數。
- MultiCharts 端:策略最大部位,以及每日虧損達門檻就平倉並停用自動交易。這一層擋的是策略邏輯本身的錯誤。
- 人工開關:一個你隨時按得到的「全部平倉並停用自動交易」管道,通常是手機上的券商 App 加遠端桌面。這一層擋的是前兩層都沒想到的情況。
每日虧損門檻的常見錯誤是設得比商品單日正常波動還小,結果策略沒壞,卻天天被停機。門檻要高於正常日的震盪、低於你帳戶能承受的單日損失,中間那段才是可以填的範圍。
假設範例
假設 NQ 指數在 20,000 點附近,一點價值 $20,一口部位當天跟著指數走 1%,就是 200 點、$4,000 的未實現損益變化,這是正常日的尺度。若把每日虧損門檻設在 $3,000,一個普通的下跌日就會把一個跨夜持倉的日線策略停掉。把門檻設在 $8,000,相當於兩個正常日的反向波動,策略就只會在真正異常的日子被停機。每日口數上限則以策略最大部位乘上一天最多可能出現的進出次數再加一口反手緩衝來設定。
門檻的另一個參考是回測的回撤。把回測或實單的每日權益貼進免費的最大回撤計算器,可以看到歷史上單日最大的下跌是多少,每日門檻至少要大於這個數字,否則回測裡本來會撐過去的日子,實單會被你自己停掉。
下單機上線後每天要監控什麼?
監控不是整天盯盤,而是在三個固定時間點各做一份短清單。盯著每一根 K 棒看,只會讓你想手動干預;照清單檢查連線、部位一致性、回報延遲與距離停機門檻的距離,才是下單機真正需要的照顧。
- 開盤前(台指期日盤前,或海外商品你的第一個檢查時段):API 連線狀態已連線;憑證沒有過期(券商憑證通常有效期一年,過期日寫進行事曆);圖表上策略已載入且自動交易開關是開的;資料有在更新。
- 盤中定時(例如每兩小時一次,日線策略可以更少):策略部位等於券商部位;最近一筆委託的送出時間與成交回報時間差多少,超過平常就要查;當日損益距離每日停機門檻還剩多少。
- 收盤後:把當天券商的成交明細和 MultiCharts 的交易清單逐筆對帳;把日誌存檔;確認隔天有沒有結算日、假日或 Windows 更新要處理。
盤中檢查的頻率要配合策略的交易頻率。一個平均一個月兩筆的日線策略,一天看兩次就夠;一個一天進出十次的分線策略,就需要每半小時一次,或者乾脆加裝連線中斷與部位不一致時推播到手機的提醒。下一節會示範怎麼從回測報告讀出這個頻率。
上線前先用回測確認交易頻率、口數與停機門檻
口數上限與每日虧損門檻不能憑感覺填,要從回測報告的最大回撤、交易筆數與平均每筆損益推回來。下面是一個 NQ 日線的 AlphaPrime 回測,測試期間 2019-01-02 到 2025-06-30,多空雙向、一口。要說明的是:這個回測跑的是一個以標準指標組成的替代規則,不是下單機本身,用途只是示範怎麼讀報表;它是搜尋嘗試的 1,024 個候選中,依報酬對回撤留下來的一個。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $238,210 |
| 最大回撤 | $69,945 |
| 交易筆數 | 179 |
| 勝率 | 48.04% |
| 獲利因子 | 1.502 |
| 平均每筆 | $1,330.78 |
| 在場時間 | 66.73% |

這份報表怎麼轉成下單機的設定?第一,交易筆數 179 筆分散在六年半,平均一個月兩筆多一點,所以盤中檢查一天兩次就夠,重點放在開盤前與收盤後的對帳。第二,持倉時間比例 66.73% 表示三分之二的時間帳上有部位,而且是跨夜的,NQ 在台灣時間深夜仍在交易,這就是前面說的該用 VPS 的情況。第三,回測以一口進行,所以 MultiCharts 端的最大部位設一口,券商端的單筆上限則要容得下反手時的兩口委託。第四,平均每筆損益 $1,330.78 是扣掉每筆 $30 成本後的數字,成本佔比不高,滑價若變成兩倍也不會改變結論;NQ 每一跳 0.25 點、價值 $5,一點 $20,交易所可能調整規格,數字以 CME 的合約頁為準,換算可以用免費的期貨合約計算器。

最大回撤 $69,945 用在兩個地方。帳戶規模要大於它,而且要留餘裕,因為未來的回撤通常比回測的更深(Pardo 2008 把回測最大回撤視為最低要求,而不是預期)。每日虧損門檻則不能用它來設,它是跨越多筆交易的累計回撤,每日門檻看的是單日;把權益曲線上最陡的那幾天找出來,門檻要高於那些日子,否則回測裡撐過去的回撤,實單會被你的停機開關切掉。
下一步很具體:把你準備上線的策略匯入 MultiCharts 後,依PowerLanguage 策略比對清單確認匯入後的交易清單與原始回測大致一致,再從報表抄下三個數字填進三層風控:交易筆數決定盤中檢查頻率,最大部位決定券商端與 MultiCharts 端的口數上限,權益曲線上最差的幾天決定每日虧損門檻。填完之後,用上線前六項檢查走一遍,再開最小口數的實單。
常見問答
下單機要用什麼等級的電腦?
MultiCharts 跑幾張日線或小時線圖表,一般辦公用等級的電腦就夠,重點不在速度而在穩定:固態硬碟、足夠的記憶體讓圖表不會因為記憶體不足關閉、關閉睡眠與休眠、設定 Windows 更新的活動時段。跑很多張分線圖表或多個策略同時運算時,再考慮更多記憶體與核心數。
MultiCharts 的 SA 和 AA 模式有什麼不同?
SA(同步自動交易)模式下,策略部位以券商回報為準,委託送出後要等到成交回報,策略才記入部位。AA(非同步自動交易)模式下,策略照自己的計算記錄部位,不等券商回報。SA 模式比較不會出現策略與帳上部位不一致;AA 模式訊號連續,但一次拒單就會讓兩邊部位開始分歧,需要更勤的對帳。
VPS 要選放在哪裡的機房?
機房離券商伺服器越近,委託往返的延遲越小,但這個差別以毫秒計,對日線、小時線策略沒有實際影響,選台灣機房、網路穩定、遠端桌面好連的即可。只有分線或更短週期、對成交價差敏感的策略,才需要把機房位置當成選項之一。
下單機可以同時跑幾個策略?
可以同時跑多個,但每個策略都要有自己的口數上限,而且券商端的每日口數上限要以所有策略的最大部位總和來設。多策略同時持倉時,斷線後的部位同步要逐策略對帳,所以策略數越多,對帳清單越長,建議每新增一個策略就重新印一次對帳表。
參考文獻
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
- CME Group. E-mini Nasdaq-100 Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html

