MultiCharts 軟體介紹:價格、PowerLanguage 與回測
MultiCharts 是一套 Windows 交易平台,把圖表、PowerLanguage 策略語言、附最佳化功能的回測,以及自動送單整合在同一個程式裡。它是付費軟體,提供限時試用,並連接你自選的資料商與券商;在它裡面遇到的回測落差,多半出自交易時段、成本與委託時點的設定,而不是最佳化功能。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是 MultiCharts 軟體?系統化交易者用它做什麼?
MultiCharts 是一套 Windows 交易平台,把圖表、PowerLanguage 策略語言、附最佳化功能的回測,以及自動送單整合在同一個程式裡。系統化交易者可以在同一張圖表上測試規則,再直接用它實單交易。它是付費軟體,提供限時試用,資料商與券商由你自行選擇。
系統化交易者會把進出場規則寫下來,交給程式執行,而不是逐筆決定。這四項工作通常分散在不同工具:一個程式看圖表,一個寫規則並測試,一個負責委託路由。MultiCharts 把它們放在同一個視窗,因此在期貨交易室與台灣期貨交易人之間都常見。這個選擇與其他自動化方式的比較,見免寫程式自動交易的各平台差異。
本文的論點簡單:一個程式身兼四項工作,好處不在最佳化功能,而在回測與實單共用同一組交易時段、K 棒週期、成本與委託時點設定。MultiCharts 回測與實單成交之間的落差,多半出在其中一項設定不一致,所以每一節都會回到這幾項設定。
- 圖表依連接的資料源繪製 K 棒,K 棒週期可用時間、逐筆、成交量或區間為單位,並以交易時段範本定義哪些時段屬於一個交易日。
- PowerLanguage 訊號就是規則。訊號是編譯後的 PowerLanguage 程式,會在圖表上下委託;指標則是只繪圖的程式。
- 回測與最佳化在圖表歷史資料上重播訊號,輸出績效報表(Strategy Performance Report),再在參數範圍內搜尋得分最高的數值。
- 券商自動化在你為該圖表開啟自動化後,把訊號的委託送到連接的券商。
另有獨立產品 MultiCharts .NET,以 C# 取代 PowerLanguage。本文其餘部分談的是 PowerLanguage 版,因為多數策略工具匯出的就是這一版。
MultiCharts 價格多少?有免費版嗎?
MultiCharts 是付費軟體,可買斷永久授權,也可訂閱;免費的途徑是完整程式的限時試用,並沒有永久免費版。價格會變動,只有廠商自己的價格頁能確認目前數字,因此本文不列數字。
取得程式的方式分為四類:
- 永久授權。一次付費取得目前的主要版本,升級條件由廠商決定。適合已經確定這套程式會是日常工具的交易人。
- 訂閱。按月或按年付費。適合想先用完整程式測試數個月再決定的交易人。
- 試用。在限定天數內使用完整程式。時間足夠載入自己的資料、編譯一個訊號、讀一份績效報表;但不夠讓實單策略跑完一個完整的市場週期。
- 券商提供。部分台灣期貨券商為其客戶提供已串接自家資料與委託路由的 MultiCharts。條件由券商而非軟體廠商訂定,且通常把連線綁定在該券商的帳戶上。
授權之外還有兩項成本,編預算時容易漏掉:一是資料源,多數期貨資料商按月收費,另加交易所費用;二是策略交易期間必須保持開機的 Windows 電腦。試用只能決定你喜不喜歡這套程式,無法告訴你實單環境的運行成本。
圖表、回測與 PowerLanguage 如何配合運作?
MultiCharts 的策略是一個 PowerLanguage 訊號,依序經過以下步驟:在 PowerLanguage Editor 編譯、套用到圖表、在績效報表中檢視、用最佳化功能調整,最後切換成自動送單。串起各步驟的是圖表:每個訊號、回測與實單委託,都屬於一張圖表,而這張圖表只有一個商品、一種 K 棒週期與一個交易時段範本。
PowerLanguage 是策略語言,基本語法與 EasyLanguage 相同,以每根 K 棒的開盤、最高、最低與收盤等保留字,以及買進、賣出等委託語句為核心。PowerLanguage Editor 是撰寫與編譯的視窗;無法編譯的訊號不能套用。績效報表是回測後 MultiCharts 輸出的報表,內容有淨損益、回撤、交易明細、各期報酬,以及多空分項。最佳化功能會依你設定的範圍,對每一組參數值組合重跑訊號,方式是窮舉或遺傳演算法搜尋;MultiCharts 另提供推進分析最佳化工具,在滾動視窗上重新調整參數。
- 在 PowerLanguage Editor 撰寫訊號。進場、出場、部位大小,參數則設為輸入值。
- 編譯。編輯器會回報語法錯誤,修正到可編譯為止。
- 套用到圖表。選擇商品、K 棒週期與交易時段範本。設定策略屬性:手續費、滑價,以及委託在下一根 K 棒成交,還是在當根 K 棒內成交。
- 讀績效報表。檢視交易筆數、扣除成本後的平均每筆損益、回撤與權益曲線。規則不對,就回到第 1 步。
- 最佳化參數。為各個輸入值設定範圍,讓最佳化功能重跑。把最佳結果視為多次嘗試中的最佳者,其中帶有挑選加成;Pardo (2008) 說明為何最佳化網格的頂端會高估規則接下來的表現,Bailey et al. (2014) 則顯示這個加成如何隨嘗試的組合數快速成長。
- 啟用自動交易。把圖表切換成自動化,訊號的委託便會送往券商。
第 3 步有兩項圖表設定需要留意,因為它們對報表的影響比任何參數都大。第一是委託時點:預設情況下,訊號在 K 棒收盤時計算,市價委託在下一根 K 棒的開盤成交;MultiCharts 也能在 K 棒內產生委託,或用名為 Bar Magnifier 的工具讀取更細的資料來精修成交。第二是交易時段範本,它決定有哪些 K 棒存在,也就決定日 K 棒在哪裡收盤。生成策略的 PowerLanguage 比對檢查清單會逐項說明這些設定。策略上線後,交易日誌軟體可以把實單成交記在回測績效報表旁邊,用來確認第 3 步設定的滑價,是否貼近券商實際給的成交。
MultiCharts 連接哪些資料源與券商?支援台指期嗎?
MultiCharts 把資料連線與券商連線分開,所以圖表 K 棒的來源與委託的路徑可以各自選擇,台指期也能透過平台所列的台灣資料商與券商畫圖與交易。實際效果是:一個資料源可以供應多張圖表,這些圖表再把委託送往不同券商;更換券商時,也不必重建圖表。
資料源是把歷史與即時價格送進圖表的連線;券商連線則是接收委託,並回報成交與部位的連線。MultiCharts 的連線清單中有許多國際期貨資料商與券商,部分公司兩者兼任。目前的清單在廠商網站上,內容會變動,購買授權前請先對照自己的券商。
台灣交易人的答案是肯定的:MultiCharts 透過台灣資料來源與券商連線,支援台指期、小型台指期與其他 TAIFEX 商品,也有數家台灣期貨券商發行綁定自家資料源的 MultiCharts。台指期有三項設定,比美國商品更重要:
- 交易時段範本。台指期有日盤與獨立的夜盤。只用日盤範本的圖表,與用全時段範本的圖表,同一條規則會產生不同的日 K 棒與不同的回測;差異見台指期夜盤交易時間與結算日,免費工具期貨現在有開盤嗎?則會依你所在的時區顯示目前的交易時間。
- 商品與轉倉。連續月如何建構、何時從一個月份轉到下一個月份,由資料商決定。以連續月序列做的回測,與以近月合約做的實單圖表,在結算前後可能不一致。
- 每點價值與成本。策略屬性記載每口的手續費與滑價,商品設定記載每點價值。交易所會調整交易時段、每點價值與保證金;各商品目前的數值,請以 TAIFEX 的合約頁面為準。
MultiCharts 與 TradingView、TradeStation 有何不同?
三個平台的差異,主要在程式在哪裡執行、使用哪種策略語言、資料從哪裡來,以及券商是固定還是自選,而不在能不能回測。三者都能在歷史資料上重播規則並輸出報表;選擇哪一個,取決於報表周邊的環境。
| 項目 | MultiCharts | TradingView | TradeStation |
|---|---|---|---|
| 執行環境 | Windows 桌面版 | 瀏覽器(及應用程式) | Windows 桌面版 |
| 策略語言 | PowerLanguage | Pine Script | EasyLanguage |
| 資料來源 | 自選並自行付費的資料商 | 內建於服務 | 包含在券商帳戶內 |
| 券商 | 連線清單中的任一券商 | 其串接清單中的券商 | TradeStation 自家券商 |
| 計價方式 | 永久授權或訂閱 | 訂閱方案 | 綁定券商帳戶 |
| 實單交易時電腦須保持開機 | 是,自己的電腦 | 否,由服務端執行圖表 | 是,自己的電腦 |
若要在平台之間搬移策略,語言這一列最重要。PowerLanguage 與 EasyLanguage 的語法大多相同,因此訊號在 MultiCharts 與 TradeStation 之間,通常只需小幅修改;搬移策略時的變動,見EasyLanguage 與 PowerLanguage 的差異。Pine Script 是另一種語言,執行模型也不同,所以 TradingView 策略搬到桌面平台時,是重寫而不是修改。
資料與券商這兩列,決定你的運行成本與依賴程度。綁定式配置(資料與券商出自同一家公司)起步較簡單,但策略也就綁在那家公司上;自選式配置(MultiCharts)組裝成本較高,更換資料商或券商時,策略卻不必修改。哪一種適合你,取決於你交易的是單一券商的商品,還是透過多家券商交易多個市場。
如何把別處建立的策略帶進 MultiCharts?
在其他研究工具建立的策略,會以 PowerLanguage 原始碼的形式進入 MultiCharts:編譯後,套用與研究回測相同的交易時段、K 棒週期、成本與下一根 K 棒成交設定,再與研究報表比對,確認後才開啟自動化。匯入本身只要幾分鐘;決定 MultiCharts 報表有沒有意義的,是設定有沒有一併帶過去。
- 從研究工具匯出 PowerLanguage 原始碼。把研究報表開在旁邊。
- 在 PowerLanguage Editor 編譯。若輸入值的名稱與預設值,和研究設定相同,代表原始碼正確帶過了參數。
- 套用到商品、K 棒週期與交易時段範本都相同的圖表。以只含日盤的交易時段建出的日 K 棒,和以全時段建出的日 K 棒,收盤時間不同,訊號也不同。
- 設定相同的手續費、滑價與委託時點。在策略屬性中填入研究回測每筆收取的手續費與滑價;若研究回測採用下一根 K 棒成交,這裡也維持下一根 K 棒成交。
- 讀績效報表。把交易筆數,以及第一筆與最後一筆交易的日期,與研究報表比對。成交上的小差異屬正常,因為兩個程式的進位與轉倉方式不同;交易筆數不同,就代表某項設定不一樣,通常是交易時段或合約序列。
研究端的報表是比對的基準,因此先了解它的樣子。下面這次回測,就是這種交接的研究端。AlphaPrime(Valynox)以一條替代規則,在 NQ 日 K 棒上測試,期間為 2019-01-02 至 2025-06-30,多空皆做,一口,每筆手續費 $20、滑價 $10。替代規則是 Tail Heaviness Index 規則,單獨作為進出場依據,不加停損、停利或濾網,因為 MultiCharts 本身是平台,不是可以拿來測試的規則。搜尋從約一千個嘗試過的候選策略中,依報酬相對回撤保留了這一個,而事後挑出被保留的那個,會讓它看起來更好:這些數字描述的是該歷史資料上的那一次回測,不代表這條規則或讀者能賺到的結果。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 數字 | 結果 |
|---|---|
| 淨損益(已平倉交易) | $195,475 |
| 最大回撤 | $43,730 |
| 交易筆數 | 153 |
| 勝率 | 55.56% |
| 獲利因子 | 1.913 |
| 平均每筆損益 | $1,277.61 |
| 在市場中的時間 | 28.89% |

從這份報表帶進 MultiCharts 的不是淨損益,而是條件:日 K 棒、相同的日期範圍、一口、每筆手續費 $20 與滑價 $10、下一根 K 棒成交,以及交易筆數 153,這是第一個要比對的數字。若 MultiCharts 在相同日期上回報明顯不同的交易筆數,先停下來找出是哪項設定不同;完整做法(包括合約轉倉怎麼處理)見策略匯入 MultiCharts 並對齊回測結果的方法。那次搜尋中的每個候選策略,都已扣除摘要框中所示的手續費、滑價與下一根 K 棒成交,因此 AlphaPrime 匯出到 MultiCharts,以及平台匯出清單上其他平台的原始碼,帶著與報表相同的成本假設,交易筆數的比對才有意義。
假設性範例
假設某策略在兩份報表中都有 200 筆交易。研究回測每筆收取 $10 滑價,合計 $2,000。在 MultiCharts 中,滑價欄位留成零,成交改為當根 K 棒的收盤價,而不是下一根的開盤價。MultiCharts 報表因為少了滑價,多出約 $2,000 的獲利,再加上較早成交帶來的差額,權益曲線看起來也更平滑。規則完全沒變,變的是兩項設定。填入 $10 滑價並改回下一根 K 棒成交後,兩份報表就會回到正常進位誤差內的相近數字。
購買或匯入任何東西之前,建議先做這件事:打開一個你信任的策略的研究報表,把它的交易時段、K 棒週期、每筆成本、委託時點與合約序列寫在一行;再打開 MultiCharts 的策略屬性與圖表設定,找出這五個值各自放在哪裡。兩邊的位置都能指出來時,匯入只需幾分鐘,報表比對也才會告訴你一些事。
常見問題
MultiCharts 價格多少?有免費版嗎?
MultiCharts 是付費軟體,以永久授權,或按月、按年訂閱的方式販售。沒有永久免費版;免費的途徑是完整程式的限時試用。價格會變動,請到廠商的價格頁確認目前數字;資料源由資料商收費,要另外編預算。
MultiCharts 支援台指期嗎?
支援。台指期、小型台指期與其他 TAIFEX 商品,可透過台灣資料來源與券商連線,在 MultiCharts 中畫圖與交易,也有數家台灣期貨券商發行綁定自家資料源的 MultiCharts。最先要檢查的設定是交易時段範本,因為只含日盤的圖表與全時段圖表,會產生不同的日 K 棒與不同的回測。
MultiCharts、TradingView 與 TradeStation 有何差別?
MultiCharts 是使用 PowerLanguage 的 Windows 程式,資料商與券商可分開自選。TradingView 在瀏覽器中執行,使用 Pine Script,自行供應資料,並透過其連接清單中的券商下單。TradeStation 是使用 EasyLanguage 的 Windows 程式,附帶自家券商與資料。三者都能回測;差別在語言、資料來源,以及券商的選擇方式。
PowerLanguage 和 EasyLanguage 是同一種語言嗎?
PowerLanguage 與 EasyLanguage 的語法大多相同,因此許多策略在 MultiCharts 與 TradeStation 之間只需小幅修改。兩者在部分保留字、函式與執行細節上不同,所以搬移後的策略必須重新編譯,並比對回測後才能信任。TradingView 使用的 Pine Script 是另一種語言,策略搬移時是重寫而不是修改。
MultiCharts 可以在 Mac 上執行嗎?
MultiCharts 是 Windows 程式。Mac 使用者可在 Windows 虛擬機器中執行,或另用一台 Windows 電腦。實單自動交易時,執行 MultiCharts 的電腦必須在整個交易時段保持開機並連線,因此許多交易人使用專用的 Windows 電腦或租用的 Windows 伺服器。
參考文獻
- Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
- 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.
- Taiwan Futures Exchange. Mini-TAIEX Futures. https://www.taifex.com.tw/enl/eng2/mTX

