程式交易軟體是什麼?三大功能、免費選項與選擇前的六個檢查點
程式交易軟體把交易規則交給電腦執行,功能分成策略產生、回測與驗證、下單執行三層,一套軟體通常只做其中一到兩層。付費前依序確認:能讀你的市場資料、回測含費用與滑價並以下一根K棒成交、有樣本外與走動式驗證、能匯出到你實際下單的平台、平台能接你的券商、報告可留存比較。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
程式交易軟體是什麼?它實際做哪三件事
程式交易軟體是把寫好的交易規則交給電腦執行的工具,功能分成三層:策略產生、回測與驗證、下單執行。一套軟體通常只做其中一到兩層。選擇前先確認它能讀你的市場資料、回測有含費用與滑價、有樣本外驗證,而且能匯出到你實際下單的平台。
把它想成開一家餐廳。第一層是研發菜色:想出規則、決定參數範圍、在很多組合裡搜尋。第二層是試菜與算成本:用歷史K棒把規則重跑一遍,扣掉手續費與滑價,再用沒看過的資料檢查。第三層是出餐:接即時行情、送單給券商、管理部位。做菜的人不一定會算帳,會算帳的不一定會送餐,軟體也一樣。
三層各需要你提供一樣東西。策略產生需要你的想法或至少一個方向,例如「突破後順勢」或「拉回均線買進」。回測需要你的歷史資料,包括正確的交易時段與合約規格。下單執行需要一個券商帳戶和一個能接上它的平台。台指期交易者如果還沒有任何一層,可以先看台指期程式交易從零開始、不用寫程式的入門路線,再回來對照本文的檢查點。
免費程式交易軟體有哪些?能做到哪一步
免費選項大致有四類,每一類通常只涵蓋回測或執行其中一層,大量產生策略與系統化的樣本外驗證多半要靠付費工具或自己動手。這裡談的是類別的一般情況,不是某個特定產品。
- 免費圖表平台附帶的策略測試器。你在圖表上寫一個簡單腳本,平台把它套到歷史資料上跑一次,給你一份報表。通常能設定手續費與滑價,但一次只測一個策略,樣本外要自己切資料、自己記錄。
- 用開源語言或試算表自己寫。Python 或 Excel 都能做回測。好處是完全透明,缺點是資料清理、時段設定、費用模型、樣本外切分每一項都要自己寫,寫錯一處就會得到一份好看但錯誤的報表。
- 券商自家軟體。多半提供即時行情、下單與簡單的條件單,回測功能不是重點,策略產生與樣本外驗證通常沒有。下一節會細談。
- 交易所或券商提供的 API。API 是讓你的程式直接送單、收行情的介面,它只負責執行層,前面兩層仍然要自己準備。
| 免費選項類別 | 策略產生 | 回測 | 樣本外驗證 | 下單執行 |
|---|---|---|---|---|
| 免費圖表平台的策略測試器 | 通常無 | 通常有 | 要自己做 | 通常無 |
| 開源語言或試算表自己寫 | 要自己做 | 要自己做 | 要自己做 | 要自己做 |
| 券商自家軟體 | 通常無 | 通常無 | 通常無 | 通常有 |
| 交易所或券商提供的 API | 通常無 | 通常無 | 通常無 | 通常有 |
所以免費軟體並不是不能用,而是要知道它停在哪一步。一個常見的路線是:先用免費測試器把一個想法跑通,確認自己看得懂報表,再決定要不要為第一層與第二層付費。付費的策略產生器要檢查什麼,本文最後一節的六個檢查點會依序逐項說明。
程式交易軟體要寫程式嗎?
不一定。依軟體不同,告訴電腦一條規則的方式有三種:設定式、拖拉式、編碼式。不寫程式也能測試規則,但看懂匯出的程式碼仍然有幫助,因為下單邏輯和費用設定是否正確,最終要在程式碼或設定頁上核對。
設定式是指在選單裡選指標、填數字,例如選一條均線、填 20,再選「收盤突破買進」。拖拉式是指把條件方塊連接起來,像接水管。編碼式是指直接寫平台語言,例如 PowerLanguage、Pine Script 或 MQL。三種方式測的是同一條規則,差別在你花時間的地方:設定式花在選項上,編碼式花在語法上。
不寫程式的人仍然要會看兩件事。第一是下單邏輯:訊號在K棒收盤產生,成交應該在下一根K棒,而不是同一根的收盤價,因為那個價格你當時還不知道。第二是費用設定:每筆交易的手續費、交易稅與滑價有沒有填、填的是不是你券商的實際收費。能看懂匯出的程式碼,就能在正式下單前把這兩件事再確認一次。還沒寫過任何策略的人,第一個演算法交易策略的三十天入門路線把這些步驟排成了順序。
券商自家軟體能不能用來做程式交易?
可以用在最後一層。台灣券商自家軟體適合下單執行與即時行情,多半也有觸價、停損之類的簡單條件單,但通常不包含策略產生與樣本外驗證。常見的做法是在研究軟體完成測試後,把策略匯出到一個能接券商的下單平台,再用券商帳戶執行。
原因是分工不同。券商軟體的設計目標是讓你快速看到行情、送出單子、查到帳務,這三件事它做得完整。研究軟體的目標是在幾千、幾萬個候選規則裡找出能通過驗證的少數幾個,再把它們變成可以執行的程式碼。把兩者接起來的中間層,就是支援券商 API 的下單平台。
實務上要先問你的券商兩個問題:它開放哪些下單平台或 API 接入,以及這些接口支援哪些商品。答案決定了你的研究軟體要能匯出成哪一種語言。先選好執行端,再反推研究端的匯出格式,比反過來省事得多。
雲端、桌面、自己寫程式:三種方式差在哪
三種方式的差別在於每一項設定由誰決定。雲端平台省下安裝與設定時間,但資料範圍、時段與費用模型由平台決定;桌面軟體由你掌控資料與計算力;自己寫程式最自由,但資料清理與執行差異全由你負責。選哪一種,取決於你願意把時間花在哪一層。
| 項目 | 雲端平台 | 桌面軟體 | 自己寫程式 |
|---|---|---|---|
| 設定時間 | 最短,開帳號即用 | 要安裝與匯入資料 | 最長,環境與資料都要自己建 |
| 資料來源與範圍由誰決定 | 平台 | 你 | 你 |
| 計算力 | 平台配給 | 你的電腦,取決於處理器或顯示卡 | 你的電腦或租用的主機 |
| 費用與滑價設定由誰決定 | 平台提供的欄位 | 你,在軟體的設定頁 | 你,寫在程式裡 |
| 匯出到下單平台 | 視平台而定 | 視軟體支援的語言而定 | 自己寫轉換 |
| 需要的技能 | 看懂報表 | 看懂報表與設定頁 | 程式、資料處理、統計 |
一個簡單的判斷方法:如果你最在意的是資料,例如台指期夜盤與日盤要分開測、要用自己整理好的連續合約,桌面軟體或自己寫程式比較合適。如果你只想先驗證一兩個想法,雲端平台最快。如果你要同時測大量候選策略,計算力會變成瓶頸,這時桌面軟體的速度取決於你電腦的處理器或顯示卡,自己寫程式則取決於你把程式寫得多有效率。
程式交易軟體怎麼選?付費前依序跑的六個檢查點
付費前依序跑六個檢查點,前一項不過就不用看下一項,因為一套不能讀你資料的軟體,後面的功能再多也用不上。順序是:市場資料支援、回測含費用與滑價並以下一根K棒成交、樣本外與走動式驗證、能匯出到你實際下單的平台、該平台能接你的券商、報告可留存比較。
- 支援你的市場資料。確認軟體能讀入你要交易的商品K棒,例如台指期、ES、NQ,並且能設定正確的交易時段。合格的樣子:匯入一段資料後,每天的K棒數量和你預期的時段一致。不合格的樣子:夜盤與日盤被接成一根日K,或時區差了幾小時。各交易所的時段可以用免費的期貨交易時間查詢換算成台灣時間;像美國指數期貨這種跨日時段,小道瓊期貨夜盤換算台灣時間後怎麼設定回測有完整的對照。
- 回測含費用與滑價,並以下一根K棒成交。滑價是你實際成交價與回測假設價之間的差距。下一根K棒成交是指訊號在這根K棒收盤確認後,單子在下一根K棒才成交。合格的樣子:設定頁有手續費與滑價欄位,而且每一次評估都會扣。不合格的樣子:費用要等回測跑完才另外加上去,或成交價就是訊號那根的收盤價。
假設範例
假設一個小台策略回測十年,平均每筆毛利 600 元,共 2,000 筆交易。假設來回手續費與期交稅合計 150 元,每邊滑價一跳 50 元、來回 100 元,每筆成本就是 250 元,淨利剩 350 元。如果滑價放大一倍,每筆成本變成 350 元,淨利剩 250 元。同一個策略,費用欄位有沒有填,報表上的結論可能完全相反。
- 有樣本外與走動式驗證。樣本外驗證是把一段規則沒用來調參數的資料拿來重跑,看結果是否還站得住。走動式分析是把這個切分沿著歷史重複很多次,每次用前一段調參數、後一段驗證。Pardo(2008)把走動式分析整理成一套標準流程;Bailey 等人(2014)則說明為什麼在很多候選裡挑出的最好結果,幾乎一定被高估。合格的樣子:軟體能自動切分、自動記錄每一段的樣本外結果。不合格的樣子:只能跑一段歷史、一個結果。
- 能匯出到你實際下單的平台。研究軟體的終點是一份能在你下單平台上執行的程式碼。合格的樣子:匯出的檔案在目標平台上能直接載入,進出場的K棒與回測一致。不合格的樣子:只給一份報表或一張圖,規則要自己重寫。AlphaPrime (Valynox) 的匯出目前涵蓋 MultiCharts(PowerLanguage)、TradingView(Pine Script v6)、TradeStation(EasyLanguage)、NinjaTrader(NinjaScript)、MetaTrader 4(MQL4)與 MetaTrader 5(MQL5),完整的支援匯出的下單平台清單在該頁面維護。
- 該平台能接你的券商。匯出的程式碼要能在一個接得上你券商帳戶的平台上跑。合格的樣子:券商公開列出支援這個平台或提供對應的 API。不合格的樣子:平台能回測、能看圖,但送單要另外找路。這一步要去問券商,不是問軟體。
- 報告可留存比較。每一次測試的設定與結果都要能存下來,幾個月後還能對照。合格的樣子:同一個策略不同版本的報表並排可看,費用設定也記錄在內。不合格的樣子:關掉視窗結果就不見,只能截圖。
報告要看哪裡,用一次真實的測試說明。下面這個方塊是 AlphaPrime 在 ES 日線上做的一次搜尋,期間 2019 年 1 月初到 2025 年 6 月底,多空雙向、1 口,每筆扣 $20 手續費與 $25 滑價。它測的是以效率自適應移動平均線為唯一進出場的替代規則,沒有停損、停利與濾網,目的只是示範報表怎麼讀,不是在評價某一種程式交易軟體或這個指標本身。這個結果是搜尋嘗試過的一千零二十四個候選中、依報酬相對回落留下的一個;事後從一千多個裡挑出最好的一個,數字一定被美化過,所以這些數字不代表這條規則賺了這些錢,也不代表讀者可以期待同樣的結果。Harvey 與 Liu(2015)正是主張,報表上的數字要依背後測過幾個候選來打折。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨利(已平倉) | $115,662.5 |
| 最大回撤 | $63,012.5 |
| 交易筆數 | 65 |
| 勝率 | 66.15% |
| 獲利因子 | 1.981 |
| 平均每筆 | $1,779.42 |
| 在場時間 | 93.01% |

這份報表有三個地方值得照著看。第一,淨利與最大回落要一起讀:回落代表你在過程中要忍受的最深虧損,一個淨利很高但回落接近一半淨利的結果,實際上很難拿得住。第二,交易筆數只有 65 筆,六年半的日線本來就不會有太多交易,這個樣本太小,任何一個每筆平均數字都只能當作線索。第三,在場時間 93.01% 表示這條規則幾乎隨時都持有部位,多空反手、沒有停損,這和你能不能睡得著有直接關係。一套好的回測軟體要把這些數字放在同一頁,讓你不用翻來翻去。
下一步可以這樣做:打開你手上任何一套回測軟體,找到手續費與滑價兩個欄位,填入你券商的實際收費後把同一個策略重跑一次,記下淨利、最大回落與交易筆數的變化。再把這三個數字和上面報表的位置對照,看你的軟體有沒有把它們放在同一頁。做完這一步,你就知道第二個檢查點過不過,再往下看第三個。
常見問答
免費程式交易軟體有哪些?
免費選項大致有四類:圖表平台附帶的策略測試器、用 Python 或 Excel 自己寫、券商自家軟體、交易所或券商提供的 API。前兩類偏向回測,後兩類偏向下單執行。大量產生策略與系統化的樣本外驗證,多半要靠付費工具或自己動手補上。
程式交易軟體要寫程式嗎?
不一定。設定式軟體在選單選指標、填數字;拖拉式軟體用方塊連接條件;編碼式軟體要寫 PowerLanguage、Pine Script 或 MQL 這類語言。不寫程式也能測試規則,但訊號在哪一根K棒成交、費用有沒有填,仍然要自己核對。
券商自家軟體能不能用來做程式交易?
可以用在下單執行這一層。台灣券商軟體多半提供即時行情、下單、帳務與簡單條件單,但通常沒有策略產生與樣本外驗證。常見做法是在研究軟體完成測試後,把策略匯出到一個能接你券商的下單平台執行。
回測軟體和自動交易軟體有什麼不同?
回測軟體負責把規則套到歷史資料上、扣掉費用、檢查樣本外結果,回答的是「這條規則過去站不站得住」。自動交易軟體負責接即時行情、送單給券商、管理部位,回答的是「現在要不要送這張單」。一套產品可能只做其中一件,選擇前先弄清楚它做的是哪一層。
程式交易軟體怎麼選?
依序跑六個檢查點:能讀你的市場資料、回測含費用與滑價並以下一根K棒成交、有樣本外與走動式驗證、能匯出到你實際下單的平台、該平台能接你的券商、報告可留存比較。前一項不過就不用看下一項,這樣可以省掉很多試用時間。
參考文獻
- 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.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
- Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.

