MultiCharts 教學:台灣費用、券商版差異、接台指期資料與第一支策略
台灣交易者取得 MultiCharts 有券商版和凱衛資訊正版兩條路,之後的順序都一樣:接上台指期資料、載入一支簡單策略、把回測設定改成接近實際交易,再看報表。費用由軟體費或口數門檻、資料源費用和為達門檻付出的手續費三塊組成。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
MultiCharts 教學:在台灣要怎麼開始?
MultiCharts 教學的起點是取得軟體:台灣交易者有兩條路,一是元大、群益等券商依公告條件提供的券商版,二是向凱衛資訊購買的正版。之後的步驟相同:接上台指期資料、載入一支簡單策略、把回測設定改成接近實際交易,再看報表。
MultiCharts 是一套以 K 線圖為中心的交易軟體,可以寫策略、對歷史資料回測、再連到券商帳戶自動下單。它的策略語言叫 PowerLanguage,PowerLanguage 是一種用接近英文的句子描述進出場條件的程式語言,寫法和 TradeStation 的 EasyLanguage 很接近。凱衛資訊是 MultiCharts 在台灣的代理商;券商版則是券商向原廠取得授權後,依自家公告的條件提供給客戶使用。
不論從哪一條路拿到軟體,接下來的順序都一樣,而且順序本身就是重點:
- 接資料。選定資料源、設好台指期的商品代碼和交易時段,確認歷史資料回補的長度夠長。
- 載入第一支策略。用一支結構簡單、每一行都看得懂的當沖訊號,目的是學會軟體怎麼跑,不是追求好看的報表。
- 改回測設定。MultiCharts 的預設值沒有手續費和滑價,先改好再回測。
- 看報表。先看交易筆數和淨利方向對不對,再看其他數字。
MultiCharts 多少錢?券商版和正版費用怎麼算
MultiCharts 在台灣的費用由三塊組成:軟體費或券商的口數門檻、資料源費用、以及為了達到門檻而多付出的手續費;第三塊最常被忽略。正版的軟體費以凱衛資訊網站公告為準,券商版的使用條件以各券商的公告頁為準,這些條件會變動,本文不寫金額,只說明結構。
三塊費用各自長這樣:
- 軟體費或口數門檻。正版是向凱衛資訊付費取得授權。券商版通常不另收軟體費,但要求帳戶每月達到一定的交易口數或其他條件,達不到就可能失去使用資格。門檻的數字每家券商不同,也會調整。
- 資料源費用。券商版多半搭配券商自己的報價資料;正版要自己選資料源,有的資料源免費提供給該券商客戶,有的按月收費。費用依資料源而定。
- 為滿足門檻付出的手續費。如果你本來一個月只交易幾口,為了維持券商版資格而多下的每一口,手續費和期交稅都是使用 MultiCharts 的實際成本。這一塊不會出現在任何報價單上,要自己算。
假設範例
假設某券商要求每月 30 口小台才能繼續使用券商版,而你平常一個月只交易 10 口。多出來的 20 口,每口來回手續費加期交稅假設是 NT$60,一個月的隱藏成本就是 NT$1,200,一年約 NT$14,400。把這個數字和正版的年費放在一起比,才是完整的比較。數字全部是假設,實際門檻與費率以券商公告為準。
比較兩條路的時候,把三塊加總成「一年總成本」再比,而不是只比軟體費。平常交易量本來就超過門檻的人,券商版的第三塊接近零;交易量低、或想在多家券商之間保持彈性的人,第三塊可能比正版年費還高。
券商版和正版 MultiCharts 差在哪?
券商版和正版的 PowerLanguage 語法相同,寫好的策略可以互相搬移,差別在資料來源、可連的券商帳戶、功能完整度和使用資格的持續條件。先學寫策略的人用券商版就夠;要接多個資料源或同時連多個帳戶,再考慮正版。
券商版是券商取得授權後提供給自家客戶的 MultiCharts,通常只能連該券商的報價和該券商的帳戶。正版是自己向凱衛資訊購買的授權,資料源和下單帳戶由自己選。兩者的核心是同一套軟體,所以你在券商版寫的策略檔,換到正版一樣能編譯和回測。
| 項目 | 券商版 | 正版 |
|---|---|---|
| 取得方式與持續條件 | 由券商提供,需持續符合券商公告的條件 | 向凱衛資訊購買授權,依授權期限使用 |
| 資料來源 | 通常綁定該券商的報價 | 自選資料源,可接多個 |
| 可連券商帳戶 | 該券商帳戶 | 依支援清單自選,可連多個 |
| PowerLanguage 語法 | 相同 | 相同 |
| 策略可互通 | 相同,策略檔可搬移 | 相同,策略檔可搬移 |
| 適合誰 | 剛開始學寫策略、交易量本來就達門檻的人 | 需要多資料源、多帳戶,或不想受口數條件限制的人 |
一個實際的做法是用券商版把本文後面的步驟走完一遍。等你確定自己會繼續做系統化交易、而且知道自己需要哪些資料源,再決定要不要換正版。策略檔不會因為換版本而作廢。
MultiCharts 怎麼接台指期資料?
接台指期資料分四步:選資料源、設商品代碼、設交易時段、確認回補長度與時區,任何一步錯了,回測跑的就不是你以為的那個市場。每一步做完都有一個對應的檢查,做完檢查再走下一步。
- 選資料源。資料源是把即時報價和歷史 K 棒送進 MultiCharts 的程式。券商版通常直接用券商的資料源;正版常見的選擇是券商提供的資料源,或 Touchance 這類台灣交易者常用的來源,Touchance 的功能、費用和連線方式見 Touchance 交易平台介紹。檢查:在 QuoteManager 裡能看到該資料源的商品清單。
- 設商品代碼。台指期(TX)、小台(MTX)、微台(TMF)在各資料源的代碼寫法不同,以資料源的商品清單為準;回測通常用連續月(把各月份合約接起來的序列),而不是單一月份。各合約的代碼規則見 台指期商品代碼:TX、MTX、TMF 與月份代碼。檢查:開圖後的價位和你在券商看盤軟體看到的同一時間價位一致。
- 設交易時段。台指期日盤是 08:45–13:45,夜盤是 15:00 到隔日 05:00;只做日盤的當沖策略,時段就只設日盤,否則策略會在夜盤收到訊號。交易所可能調整時段,以期交所的契約規格頁為準;各市場目前的時段可用 期貨交易時間查詢 換算成台灣時間確認。檢查:圖上第一根和最後一根 K 棒的時間就是你設定的開收盤時間。
- 確認回補長度與時區。回測需要的歷史長度要在開圖時設好,以年或以 K 棒數計;時區設台灣時間,否則日線的日期和分 K 的時段都會偏移。檢查:圖上最早一根 K 棒的日期符合你要的回測起點,日 K 的日期和交易日對得上。
第三步最常出錯。很多人開了含夜盤的資料,卻以為自己回測的是日盤策略;報表裡多出來的夜盤交易筆數會讓整份結果變質。開圖之後先數一天有幾根 K 棒:5 分 K 的日盤一天是 60 根,含夜盤會多出很多。
MultiCharts 怎麼寫第一個策略?當沖訊號的五個區塊各做什麼
第一支當沖訊號只需要五個區塊:參數宣告、變數、進場條件、出場條件、收盤前強制平倉。本節用的是一個通用的開盤區間突破教學範例,不是 AlphaPrime (Valynox) 的訊號或規則;這裡只說每個區塊在做什麼和常見寫錯的地方,不貼程式碼,完整寫法見 PowerLanguage 策略從產生到 MultiCharts 的比對清單。
開盤區間突破是一種當沖規則:記下開盤後前幾分鐘的最高價和最低價,價格突破最高價就做多,跌破最低價就做空,收盤前平倉。它的規則與參數說明見 開盤區間突破的規則與參數。用它當第一支策略的原因是每一個區塊都用得到,而且結果很容易在圖上用肉眼對照。
- 參數宣告。這一區放之後想調整的數字:開盤區間要取幾分鐘、停損幾點、幾點幾分之後不再進場。寫成參數的好處是回測時可以在設定視窗裡改,不用動程式碼。常見錯誤:把這些數字直接寫死在條件裡,之後每改一次就要重新編譯。
- 變數。這一區放程式執行中會變動的值:目前這一天的區間最高價、區間最低價、今天是否已經進場過。常見錯誤:新的一天開始時沒有把區間變數歸零,結果用昨天的區間在今天交易。
- 進場條件。這一區描述什麼情況下買、什麼情況下賣:區間已經形成、價格突破區間高點就做多,跌破區間低點就做空,而且還在允許進場的時間內。常見錯誤:用當根 K 棒的收盤價判斷、又在同一根成交,這等於用還沒發生的價格下單,是前視偏差。
- 出場條件。這一區放停損和時間出場:停損是進場價往不利方向一定點數就出場;時間出場是持倉超過一定根數的 K 棒還沒到停損就出場。常見錯誤:只寫停損不寫停利或時間出場,結果所有的獲利單都靠收盤平倉結束。
- 收盤前強制平倉。這一區在收盤前的某個時間把所有部位平掉,當沖策略才不會留倉。常見錯誤:平倉時間設在 13:45,也就是收盤那一刻,但最後一根 K 棒收完就沒有下一根可以成交;改成收盤前幾分鐘,部位才真的會在盤中出掉。
寫完之後先編譯,再把訊號加到圖上,然後打開交易清單,隨便挑三筆交易回到圖上看:進場的那根 K 棒是不是真的突破了區間、停損的那筆是不是真的碰到了停損價。三筆都對,這支策略的結構就是對的。
回測前要先改哪些設定?
MultiCharts 的預設回測設定會讓報表偏樂觀,回測前先改五項:盤中成交模擬、手續費、滑價、交易時段、固定 1 口;改完再比較前後兩份報表,差距就是原本被高估的部分。這些設定在策略屬性(Strategy Properties)視窗裡,每一張圖要各自設定。
| 設定 | 預設 | 建議 |
|---|---|---|
| 盤中成交模擬 | 只用開高低收四個價推測一根 K 棒內的路徑 | 開啟 Bar Magnifier,或改用更細解析度的資料 |
| 手續費 | 0 | 依券商實收,含期交稅,每口每邊 |
| 滑價 | 0 | 至少一跳,市價單和停損單可設更多 |
| 交易時段 | 資料有什麼就跑什麼 | 與實際交易的時段一致 |
| 口數 | 依策略屬性設定 | 固定 1 口 |
五項各自為什麼重要:
- 盤中成交模擬。Bar Magnifier 是 MultiCharts 用更細解析度的資料(例如 1 分 K 或 tick)來還原一根 K 棒內價格先走到哪裡的功能。沒有它,一根 5 分 K 內同時碰到停損和停利時,軟體只能用固定假設決定哪個先成交,結果常偏向對策略有利的那一邊。
- 手續費。填你的券商實際收的金額加上期交稅,每口每邊。填 0 會讓交易次數多的策略看起來最好,加上費用後往往最先失效;費用怎麼估、平均每筆交易要比成本大多少,見 回測中的交易成本:手續費、滑價與平均每筆交易。
- 滑價。滑價是訊號價和實際成交價之間的差距。市價單和停損單通常成交得比觸發價差,每邊至少填一跳;用兩倍滑價再跑一次,如果策略不行了,代表它靠的是便宜的成交。
- 交易時段。和第四節的設定一致;日盤策略只跑日盤。
- 固定 1 口。第一次回測固定 1 口,報表才能回答「這套規則本身有沒有效」。加碼或依資金調整口數會放大結果,也會把規則本身的問題藏起來。
假設範例
假設一支小台當沖策略在預設設定下的報表是:200 筆交易、淨利 NT$120,000。改成手續費加期交稅每口來回 NT$60、滑價每邊一跳(小台一跳 NT$50),每筆交易的成本是 NT$160,200 筆就是 NT$32,000。再開啟 Bar Magnifier 後,原本同根 K 棒內先停利後停損的幾筆變成先停損,又少了 NT$18,000。淨利從 NT$120,000 變成 NT$70,000,少掉的 NT$50,000 不是策略變差,而是預設值原本多算的部分。數字全部是假設。
Pardo(2008)對回測的要求很直接:回測裡的每一個假設都要能在實際交易中成立,成立不了的假設就要換掉。這五項設定就是最常不成立的五個假設。
不想自己寫 MultiCharts 程式碼,還能從哪裡拿到策略?
不自己從頭寫,策略有三個來源:券商和社群分享的範例、自己改寫現成的規則、以及用策略搜尋工具產生後匯出 PowerLanguage 再匯入 MultiCharts 核對。三個來源拿到的策略都要用第六節的設定重新回測,因為別人的報表用的是別人的費用、時段和資料。
- 券商與社群分享的範例。券商版通常附幾支範例訊號,社群也有人分享。好處是免費、可以直接編譯;要做的是打開程式碼,用第五節的五個區塊對照每一段在做什麼,看不懂的段落不要用。
- 自己改寫現成規則。把一個公開的規則(例如通道突破、均線交叉)照第五節的結構寫一遍,再加上自己的停損和時間出場。這是學 PowerLanguage 最快的方式,因為規則已經有了,你只要負責結構。
- 用策略搜尋工具產生後匯出。策略搜尋工具會在大量規則與參數組合裡自動回測,留下通過你設定條件的候選,再匯出成 PowerLanguage。這條路的關鍵不在產生,而在匯入 MultiCharts 之後的核對。
第三條路產生的策略長什麼樣子,下面是一個實際的例子。這次測試的市場是 NQ(E-mini Nasdaq-100 期貨)日線,期間 2019-01-02 到 2025-06-30,多空都做、固定 1 口,每筆交易計入 20 美元手續費和 10 美元滑價。它的規則是用最高價與最低價(Highest/Lowest)當唯一的進出場條件,沒有停損、沒有停利、沒有濾網;這是用標準指標組成的替代規則,不是本文主題(當沖訊號)本身。它是搜尋嘗試的 1,024 個候選中,依報酬對回撤留下來的一個;事後從 1,024 個裡挑出表現好的那個,結果一定會比較好看,這是選擇偏差,Bailey 等人(2014)說明了為什麼嘗試的候選越多,留下來的那個就越被高估。這些數字不代表這個規則賺了這筆錢,也不代表任何人能期待同樣的結果。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $58,910 |
| 最大回撤 | $33,420 |
| 交易筆數 | 91 |
| 勝率 | 59.34% |
| 獲利因子 | 1.492 |
| 平均每筆 | $647.36 |
| 在場時間 | 11.84% |
這份報表對 MultiCharts 使用者的用處在於它給了一組可以核對的數字:91 筆交易、11.84% 的持倉時間。匯入 MultiCharts 之後用同樣的資料、同樣的時段、同樣的 20 美元手續費和 10 美元滑價跑一次,交易筆數和淨利方向應該接近;筆數差很多,通常是時段或資料長度不同,方向相反則通常是成交假設不同。AlphaPrime 把搜尋與驗證後的策略匯出成六個平台的原始碼,PowerLanguage 是其中一種,支援的平台清單見 策略匯出支援平台;匯入 MultiCharts 之後逐項核對的步驟,見 如何把策略匯入 MultiCharts 並對齊回測。
匯入後的核對順序是固定的:先編譯成功,再用相同資料和時段回測,然後比交易筆數,最後比淨利方向。筆數和方向都接近,再去看每一筆交易;差異大,先回頭查第四節和第六節的設定,查完還是差很多,才去看程式碼。
下一步可以這樣做:用你手上的台指期日盤資料,把第五節的五個區塊寫成一支訊號,先用預設設定回測一次,再照第六節改好五項設定回測第二次,把兩份報表的淨利差距和交易筆數差距記下來。這兩個數字會告訴你,你的第一支 MultiCharts 策略有多少是規則、多少是預設值。
常見問答
券商版 MultiCharts 要一直達到口數門檻嗎?
多數券商版的使用資格是持續性的條件,例如每月交易口數或帳戶資產,達不到的月份可能失去使用權或被收費。條件每家券商不同,也會調整,以券商的公告頁為準。評估時把為了達門檻多下的口數所付的手續費算進總成本。
MultiCharts 可以接台指期夜盤資料嗎?
可以,前提是資料源有提供夜盤資料,而且你在設商品時選了含夜盤的交易時段。只做日盤的當沖策略不要用含夜盤的時段,否則策略會在夜盤收到訊號,報表的交易筆數會變多。開圖後數一天有幾根 K 棒,就能確認時段設對了。
MultiCharts 程式碼和 TradeStation 的 EasyLanguage 一樣嗎?
PowerLanguage 和 EasyLanguage 的語法很接近,多數簡單的策略可以互相搬移,只需要少量修改。差異主要在部分保留字、函數名稱和下單指令的細節。從一個平台搬到另一個平台後,用相同資料和費用設定重新回測,比對交易筆數和淨利方向。
MultiCharts 當沖程式碼要包含哪些東西?
一支完整的當沖訊號至少有五個區塊:參數宣告、變數、進場條件、出場條件、收盤前強制平倉。少了最後一塊,策略會留倉過夜,就不是當沖了。停損和時間出場都寫在出場條件裡,平倉時間設在收盤前幾分鐘,而不是收盤那一刻。
參考文獻
- Taiwan Futures Exchange. Mini-TAIEX Futures. https://www.taifex.com.tw/enl/eng2/mTX
- 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.

