去年十一月某個週五晚上,一位學員急急傳訊息給我:他的自動交易系統在非農數據公布後連開七張單,全部反向,帳戶半小時內回撤了百分之十二。他第一句話是「程式壞了嗎」,我打開紀錄一看,訊號沒錯、下單沒錯,壞的是他從頭到尾沒設過停機規則,而且用的是市價單追價。這個案例說明一件事:多數人對自動交易的理解,只停留在「自動下單」這一環,但下單只是整條鏈路的中段。一筆交易要順利走完,得經過數據與訊號、風控過濾、執行與成交、監控與異常處理四個環節,任何一環出事,前面的環節做得再好都是白費。這篇文章我把這條「四環鏈路」完整拆開,逐環講職責、常見故障、監控指標與新手盲點,再用一筆歐元兌美元的完整算例,讓你看清一個訊號從觸發到成交之間到底發生了甚麼。
多數人只知道一環:按下啟動之後,鏈路才剛開始
很多人以為自動交易就是「寫好策略、按一下啟動,剩下的交給電腦」。這個理解只對了四分之一。我自己的講法是:自動下單只是鏈路的第三環,它前面有兩環替它把關,後面有一環替它善後。你在市面上看到的絕大部分故障——重複下單、該停損不停損、數據公布時亂開單——都不是「下單」本身壞了,而是前一環的訊號有問題,或者後一環的監控缺了位。
打個比方:把一套交易系統想成一間餐廳。訊號是採購與菜單,決定今天做甚麼菜;風控是廚房主管,決定這道菜能不能出、出多大份量;執行是傳菜,把菜又快又準送到桌上;監控是經理巡場,客人投訴、廚房冒煙都要有人第一時間處理。你只盯著傳菜的速度,卻從不檢查食材和廚房,餐廳遲早出事。這個框架不是我發明的花招,而是我這些年檢查過幾十套系統之後,發現所有事故都能對號入座到其中一環。想先了解系統由哪些零件組成,可以看我之前整理的自動交易系統入門那篇;這篇講的是四個環節怎樣咬合成一條完整的鏈。

第一環:數據與訊號——系統的眼睛與判斷
鏈路的起點是數據。行情報價、歷史K線、經濟日曆、技術指標數值,全部屬於這一環的原料;策略在原料上算出「甚麼條件成立就交易」的結論,就是訊號。這一環最容易被新手忽略的真相是:同一套策略,接在不同的數據源上,訊號可能完全不同。報價延遲半秒、K線時間對不齊、指標數值精度不一致,都會讓觸發點漂移。我見過一套策略在模擬環境跑得漂亮,接到實盤報價後進場點平均偏了兩三點,累積下來績效直接變了樣。
第一環的常見故障有三類:一是數據中斷,系統拿著舊數據繼續判斷;二是重複訊號,同一個條件在幾根K線內反覆成立,系統連續開單;三是訊號品質參差,策略本身在特定市況才有效,遇上震盪市就亂發訊號。對應的監控指標包括:報價心跳是否正常、每筆訊號的觸發時間與日誌是否完整、每天訊號數量有沒有偏離常態。新手盲點則是只看「策略回測多準」,從不問「這些訊號是基於哪一份數據、哪一個時間框架算出來的」。訊號是整條自動交易鏈路的源頭,源頭的水不乾淨,後面過濾得再勤也是事倍功半。
第二環:風控過濾——倉位、停損與停機三道閘
訊號產生之後,不代表一定會變成交易。第二環的職責是拿風控規則去過濾每一筆訊號,這一環我把它拆成三道閘:倉位閘、停損閘、停機閘。倉位閘決定這筆訊號該開多大——用單筆風險金額反推手數,而不是看保證金夠不夠;停損閘確認這筆單有沒有附帶出場條件,沒有停損的訊號直接攔下;停機閘則管理整體狀態——當日虧損到達上限、連續止損次數超標、帳戶權益跌破警戒線時,系統自動停止接新訊號。
我對第二環的重視,來自一個親身教訓。幾年前我自己一套黃金策略,某天晚上數據異常導致訊號計算錯誤,系統短時間內重複觸發,若非停機閘在連續三筆止損後強制停止,損失會遠超當天實際的金額。從那天起我定下一條鐵律:任何系統上線前,先測停機,再測訊號。順帶一提,槓桿在這一環的角色必須講清楚,投資者及理財教育委員會(IFEC)的槓桿式外匯基礎資料說明,槓桿倍數直接決定行情小幅反向就能吃掉多大比例的權益,風控環的倉位計算,本質上就是在控制槓桿的實際使用量。
第二環的常見故障:風控規則寫了但沒接進下單流程,形同虛設;停損值在訊號修改時被覆蓋;停機條件只看浮動虧損、不看已實現虧損。監控指標包括每筆單的手數是否符合風控公式、有無無停損單存在、停機紀錄有沒有被手動解除。新手盲點是最舍得花錢買策略、最不捨得花時間寫風控——他們以為風控是限制賺錢的枷鎖,其實是讓你活得夠久等到策略發揮的氧氣。另一個要警惕的盲點是盲信賣家的宣傳:根據 CFTC 降低外匯詐騙風險的建議,聲稱高勝率、低風險、保證回報的外匯系統推銷,是監管機構長年點名的典型詐騙手法,任何一套自動交易系統的宣傳話術,都應該先過風控的眼光再看策略的內容。
第三環:執行與成交——訂單類型與滑點的真相
訊號通過風控,接下來才輪到大家最熟悉的「自動下單」。這一環的核心是兩件事:訂單類型的選擇,以及成交品質的管理。市價單保證成交但不保證價格,限價單保證價格但不保證成交,停損單則在市況劇烈時可能出現滑點——這三句話是執行環的全部哲學。所謂滑點,就是你按下交易那一刻與實際成交那一刻之間的價差,在流動性稀薄的時段或重大數據公布後,幾點的滑點足以把一個正期望值的策略拖成虧損。
執行環的常見故障:下單請求發出後網絡逾時,系統以為沒成交、實際上成交了,於是重複開單;部分成交後剩下的數量被遺忘;停損單掛在券商端但系統本地沒有備份紀錄。監控指標包括:下單回報時間、實際成交價與訊號價的偏差分布、每天的重複單與棄單數量。新手盲點是把回測裡的零滑點當成實盤的理所當然——回測引擎假設你永遠按訊號價成交,真實市場不會給你這個待遇。判斷一套自動交易系統的執行環是否合格,最直接的辦法是拿它實際的成交紀錄,與訊號價逐筆對照統計偏差。我在挑選自動交易程式時,第一個看的不是策略邏輯,而是它有沒有處理重複下單與成交回報的機制,因為執行層的瑕疵,比策略本身的瑕疵更容易造成不可逆的損失。
第四環:監控與異常處理——沒有人看著的時候
第四環是鏈路上最不像「交易」、卻最能決定生死的一環。它的職責是回答三個問題:系統現在的狀態正常嗎?異常發生時誰先知道?知道之後怎麼辦?具體動作包括:交易日誌的完整記錄、關鍵事件的即時通知(斷線、棄單、停機觸發)、每日收盤後的對帳——把系統紀錄與券商帳單逐筆核對。沒有這一環,前三環等於在沒有儀表板的車上開夜車,自動交易的風險很多時候不是來自行情,而是來自無人察覺的系統狀態異常。
我在早期跑系統時吃過一次大虧:週五收市前斷線,系統重連後用舊狀態繼續管理持倉,週一開市我打開電腦才發現帳戶多了一張不該存在的單。那次之後我把「每日對帳」寫進流程,並且加裝了異常通知——現在系統一旦斷線超過設定時間,手機會先於我打開電腦收到提示。第四環的常見故障是通知裝了沒測試、日誌寫了沒人看、對帳想起來才做。新手盲點是以為「自動」等於「免看」,實情恰恰相反:系統愈自動,愈需要人定期檢查它有沒有在正確地自動。另外提醒一句,無論哪一環,涉足槓桿產品前都應認清交易商的資質,香港證監會設有持牌機構警示名單,把無牌公司列入公眾可查的名單,選平台前花五分鐘查一次,勝過出事後追討一年。

四環職責總覽:一張表看清每一環做甚麼
我把四環的職責、常見故障、監控指標與新手盲點整理成下表,建議打印出來貼在螢幕旁邊,每次系統出狀況時先對照是哪一環的問題。
| 環節 | 職責 | 常見故障 | 監控指標 | 新手盲點 |
|---|---|---|---|---|
| 第一環 數據與訊號 | 產生進出場判斷 | 數據中斷、重複訊號、觸發漂移 | 報價心跳、訊號日誌、每日訊號量 | 只問策略準不準,不問數據來源 |
| 第二環 風控過濾 | 倉位、停損、停機三道閘 | 規則未接入流程、停損被覆蓋 | 手數合規率、無停損單數、停機紀錄 | 舍得買策略,不捨得寫風控 |
| 第三環 執行與成交 | 訂單送達與成交品質 | 重複下單、部分成交遺漏、滑點失控 | 回報時間、價差偏差、棄單量 | 把回測零滑點當實盤預設 |
| 第四環 監控與異常 | 記錄、通知、對帳 | 通知未測試、日誌沒人看 | 斷線時長、對帳差異筆數 | 以為自動等於免看 |
這張表的用法很簡單:出事時從第四環倒查回第一環。先確認你有沒有看到異常(監控),再看單有沒有下對(執行),再看風控有沒有放行錯的訊號(風控),最後才查訊號本身(數據)。順序反了,你會花一星期調參數,結果發現問題只是網絡逾時。
斷點對照:每一環斷了會發生甚麼
「四環鏈路」框架真正的價值在斷點對照——想像每一環單獨失效,你就能預判自己系統最脆弱的位置。
第一環斷了(數據中斷):系統失明但不自知,可能拿著過時價格繼續判斷,觸發一筆在真實行情根本不成立的交易。症狀是成交價與當時行情對不上。第二環斷了(風控失效):訊號會照常執行,但倉位不受控、停損可能缺失,一次異常訊號就能造成超額損失,這是四環裡後果最重的一個斷點。第三環斷了(執行故障):常見症狀是重複單或棄單——重複單讓暴露翻倍,棄單讓策略「有訊號沒交易」,兩者都會讓實盤表現與測試紀錄脫節。第四環斷了(監控缺位):前三環的小故障無人察覺,小病拖成大病,等你自己發現時,往往已經累積成需要動用本金去填的窟窿。
一個實用的自我檢查:你現在能馬上說出自己系統每一環的斷了會怎樣嗎?說不出來的環,就是你最脆弱的環。人手交易與自動交易在這點上的差別,我在人手與自動交易對比那篇裡拆過:人手交易斷環時大腦會即時補位,自動交易斷環時只有你的預案能補位——預案沒寫,就是空白。
完整算例:一筆歐元兌美元訊號從觸發到成交
最後用一個純屬示範的算例,把四環走一遍。假設帳戶有一萬美元,策略在歐元兌美元的訊號是:價格升穿 1.0850 觸發買入,停損設在 1.0825,距離 25 點。
第一環:系統在歐洲時段監測報價,K線收盤確認突破成立,產生買入訊號,並寫入日誌。第二環:風控公式是單筆風險不超過帳戶的百分之一,即 100 美元;每點價值按標準手計為每手 10 美元,手數 = 100 ÷(25 點 × 10 美元)= 0.4 手,停損閘確認訊號附帶停損,放行。第三環:訊號價 1.0850,此時點差 1.2 點,市價單送出後又遇上 0.8 點滑點,實際成交在 1.0852,等於開倉即承擔 2 點成本,以 0.4 手計約 8 美元(2 點 × 每點 4 美元)。隨後行情反向,停損單在 1.0825 觸發,流動性稀薄導致 1.5 點滑點,實際成交 1.0823.5,虧損 =(1.0852 − 1.08235)× 每點 4 美元 = 28.5 點 × 4 = 114 美元。第四環:日誌記下這筆單的計劃虧損 100 美元與實際虧損 114 美元,偏差 14 美元全部來自執行環的滑點,收盤對帳時與券商帳單核對一致,並累計當日虧損檢查是否觸及停機線。
這個算例的教訓很具體:策略層面你只虧了計劃內的 100 美元,多出來的 14 美元是執行環的成本。如果該時段點差擴大到 3 點、滑點放大到 2 點,單筆成本再多 20 美元上下——一年幾百筆交易累積下來,滑點與點差就是橫在策略盈虧線上的一把刀。這也是為甚麼我反覆強調,評估任何自動交易系統時,務必把執行成本算進期望值,而不是只看訊號理論上的勝負。
常見問題
問:自動交易是不是按下啟動就不用管了?
答:不是。四環鏈路裡至少第四環需要人每天介入:看日誌、查對帳、確認通知正常。所謂自動,是機器代替你執行,不是代替你負責。
問:系統重複下單是策略的問題還是技術的問題?
答:絕大多數是執行環的問題——下單回報逾時或訊號去重沒做好。先查執行日誌裡有沒有同一時間戳的多筆請求,再考慮改動策略邏輯。
問:滑點可以完全避免嗎?
答:不能,但可以管理。用限價單可消除負向滑點卻要承擔不成交的機會成本;避開重大數據公布時段、選擇流動性好的時間交易、統計自己系統的實際滑點分布,是三個務實的做法。
問:怎麼知道我的風控環有沒有真的在運作?
答:做一次故意測試:調整參數讓一筆訊號超出單筆風險上限,看系統會不會攔截。停機同理,模擬連續止損看會不會停止開新單。會攔截、會停機,風控環才算接通。
問:每天要花多少時間監控?
答:開市前五分鐘確認系統狀態與報價正常,收市後十分鐘對帳與查看日誌,遇到異常通知才深入處理。日常約十五分鐘,重點是天天做,而不是一周補一次。
問:哪一環最重要?
答:後果最重的是風控環,因為它決定單次錯誤的代價上限;但最常被忽略的是監控環,因為它的失誤是隱性的。我的排序是:先補監控,再補風控,然後才輪到優化訊號和執行。
立即 WhatsApp 聯繫小風團隊免費諮詢:+852 5378 5383
網站:https://aitrading.ace-fortune.com/algo-trade-hk
投資涉及風險,過往表現不代表未來回報。本內容僅供教育參考,不構成任何投資建議。


