「9秒狙擊手」EA 源碼拆解:SAR 反向掛單 + 9 秒動能過濾的 MQL5 突破策略(兩集完結)|AlgoLee

⚠️ 本站內容僅作教育用途,不構成投資建議。投資涉及風險,作出任何投資決定前請諮詢持牌專業人士。
目錄

「和AlgoLee一起交易」頻道在 2026 年 1 月 1 日及 1 月 8 日分兩集拆解了一份網友投稿的 MQL5 EA 源碼——「9秒狙擊手」。投稿者聲稱這套代碼一年翻 70 倍;AlgoLee 在第一集逐段講解策略邏輯與代碼結構,第二集把剩餘部分(掛單管理、延遲止蝕、倉位計算)補完並重構,最後在 MT5 策略測試器跑出一份誇張到他自己都「不敢看」的資金曲線。

本文把兩集合併成一份完整筆記:先重構策略規則,再逐步拆解進出場與風控邏輯,最後給出回測重現清單與防坑檢查。先說結論:這是一套設計精巧但風控哲學極度激進的 tick 級突破 EA,「一年 70 倍」的聲稱必須當作宣傳看待。

策略速覽

規則重構

項目源碼設定
投資標的黃金(XAUUSD)為主,理論上可用於其他品種
圖表週期掛載於 5 分鐘圖(M5),但實際決策基於 tick 級報價,與 K 線無關
指標組合Parabolic SAR(步長 0.02、最大值 0.2,即 MT5 預設值)+ 自建的 tick 價格/時間環形緩衝區
動能定義現價 − 9 秒前報價(MinTimeLapse = 9),波動超過 70 點(PriceMvmThreshold = 70)視為動能足夠
進場方式不做市價單,掛 Buy Stop / Sell Stop 突破單,掛單偏移 25 點(Step = 25),不帶止蝕止盈
做多條件① 9 秒動能 > +70 點;② SAR 點位(減緩衝)仍在價格上方(逆勢壓住);③ 新掛單價須低於手上所有買單最低價(加倉用,實際被寫死為最多一單)
做空條件上述的鏡像
撤單條件掛單超過 9 秒未成交,且動能已衰竭(價格波動不達標),立即刪單——「只抓最猛的那條魚」
止蝕延遲止蝕(亡羊補牢式):進場不設硬止蝕;當浮虧超過 60 點(StopActivationPoints)且反向動能加劇,才用 PositionModify 在現價外 25 點(StopActivationBuffer)補掛止蝕
止盈一籃子金額止盈:累加全部持倉浮盈,達到目標金額(通常與風險預算 1:1)即全部平倉
倉位計算五種模式:固定手數(0.05 手)、餘額百分比(1%)、淨值百分比、可用保證金百分比、固定風險金額(50 美元);並以「虛報止蝕 ×2」把計算出的手數壓半
時間過濾只允許伺服器時間 7:00–21:00 交易
新聞過濾讀取 MT5 財經日曆,非農、利率決議等關鍵時刻前後強制暫停交易(回測模式下不生效
最大持倉寫死 1 單,加倉邏輯形同虛設
講者/投稿者聲稱「一年翻 70 倍」(投稿者);影片中 4 個月回測資金曲線極度誇張,AlgoLee 本人亦提示「大家應該心裡有數」

EA 輸入參數(源碼) 截圖出自原片第一集(和AlgoLee一起交易,2026-01-01):重構後 EA 的輸入參數,可見 TRADING TIME(M5、7–21 時)、LOT SIZE(五種倉位模式)與 STRATEGY(SAR 0.02/0.2、掛單偏移 25 點、9 秒間隔、動能閾值 70 點、止蝕激活 60 點、緩衝 25 點)三組設定。

詳細拆解

第一步:反向使用 SAR——「鯉魚躍龍門」

Parabolic SAR 的常規用法是識別趨勢方向與動態止蝕:點在價格下方代表升勢,在上方代表跌勢。這個策略故意反著用

XAUUSD 圖表上的 SAR 點 截圖出自原片第一集:XAUUSD 圖表上綠色的 SAR 點。策略要求做多時 SAR 仍在價格上方——聽起來違反常理,本質是押注「衝破壓力」的瞬間爆發。

換句話說,SAR 在這裡不是趨勢指標,而是一個「壓力位標記」。這也帶出了第二個進場條件:動能。

第二步:9 秒動能——環形緩衝區與「倒帶」

策略名字裡的「9 秒」,來自它衡量動能的方式:比較現價與 9 秒前的報價

實現上有個細節:行情跳動快慢不一,有時 1 秒跳 10 次報價,有時 3 秒才跳 1 次,所以不能簡單地「倒數第 N 條 tick」。作者自己實現了一個固定大小的環形緩衝區(ring buffer)——先進先出、寫滿自動覆蓋最舊數據,把每一刻的價格、時間(還有點差)都記下來。AlgoLee 形容這是「殺雞用牛刀」的寫法,但功能上確實嚴謹:

第三步:開倉決策——三個條件 + 突破掛單

滿足以下全部條件才掛單(以做多為例):

  1. 動能條件Price_Movement > 70 點,市場具備強勁上漲動能。
  2. SAR 條件:SAR 點位減去緩衝後仍在價格上方(逆著 SAR 做多)。
  3. 加倉條件:新掛單價格必須比手上所有買單的最低價還低——有點網格補倉的味道,「絕不追漲殺跌、只在回調時補倉」。但因為最大持倉寫死為 1 單,這個條件實際從不觸發

全部滿足後,用 Buy Stop 在現價上方 25 點掛突破單,止蝕止盈都設 0,並記錄掛單時間戳供下一步使用。做空完全鏡像。

第四步:掛單管理——動能衰竭即撤單

掛單不是放著不管。EA 持續計算每張掛單的存續時間(伺服器時間 − 掛單時間戳):

掛單管理與動能衰竭撤單 截圖出自原片第二集(2026-01-08):掛單管理代碼——倒序遍歷掛單池、計算存續時長,超過 9 秒且動能不達標即 OrderDelete。

第五步:延遲止蝕——「亡羊補牢」式風控

這是整套策略最具爭議的部分。入場時不設任何硬止蝕,任由價格小幅波動;只有當:

  1. 浮虧超過激活閾值(60 點),
  2. 反向動能正在加劇(Price_Movement 反向超標),

EA 才用 PositionModify現價外 25 點補掛止蝕——而且補了之後也不是立刻認賠,還留了緩衝讓它「掙扎一下」。

延遲止蝕代碼 截圖出自原片第二集:延遲止蝕邏輯——浮虧達標且反向動能加劇時,才用 PositionModify 補掛止蝕。

這種設計的意圖是用短期的風險暴露,換取不容易被洗盤洗出去的高勝率。但 AlgoLee 明確指出這很危險:你想虧 60 點,在動能劇烈惡化、點差擴大、滑點加劇的市況下,實際可能虧 200 點甚至更多;倉位大的話直接爆倉「也稀鬆平常」。

第六步:一籃子金額止盈

止盈同樣不設價位。EA 累加所有持倉的浮動盈虧,達到目標金額(按倉位計算時 1:1 於風險預算的金額)就瞬間把全部單子平掉。止蝕止盈兩頭都不設價位掛單——作者「喜歡自由的感覺」,風控全部依賴 EA 實時運算,對伺服器與網絡穩定性要求極高。

第七步:倉位計算——「虛報止蝕」與保證金試探

倉位計算有兩個值得玩味的細節:

① 虛報止蝕點數(×2)。計算每標準手風險金額時,代碼用的不是實際止蝕距離(激活 60 + 緩衝 25 = 85 點),而是 (60 + 25) × 2 = 170 點。止蝕距離不變,但計算出來的手數直接減半,等於強行壓低實際槓桿。AlgoLee 的解讀:作者自己也知道延遲止蝕是在玩火,所以用這個「小調皮」穩一手。

虛報止蝕點數 ×2 截圖出自原片第一集:StopLoss = (StopActivationPoints + StopActivationBuffer) * 2——止蝕距離仍是 85 點,但倉位計算按 170 點,手數減半。

② 保證金極限試探。如果計算出的手數超出可用保證金,代碼會循環遞減(1 手 → 0.99 → 0.98……)直到「下得起」為止。AlgoLee 對此評價很重:說好聽是窮人思維,說難聽是賭徒思維——你本來算好 5 手才匹配風險,錢不夠就硬降到 2 手上車,意味著帳戶已在爆倉邊緣,此時繼續交易本身已不明智。

倉位計算與保證金試探循環 截圖出自原片第二集:五種倉位模式的 switch,以及下方 while 循環逐步遞減手數試探保證金極限。

第八步:時間與新聞過濾

⚠️ 重要:回測模式下新聞過濾不啟用——回測環境沒有真實的財經日曆數據流。這意味著回測成績天然少了「避險」這一層保護,或者反過來說,實盤避開的新聞行情在回測裡照樣交易。無論哪個方向,回測與實盤的行為都不一致。

🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:

ZA Bank 邀請碼 P20923 —— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。 立即開戶 → (聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)

重現 Backtest 清單

MT5 策略測試器參數面板 截圖出自原片第二集:MT5 策略測試器的參數面板,可見 M5 週期、7–21 時段、餘額百分比 1.0、固定手數 0.05、SAR 0.02/0.2、掛單偏移 25、時間間隔 9 秒、動能閾值 70、止蝕激活 60、緩衝 25、新聞過濾關閉等完整設定。

結論:代碼層面可以完全重現,但「能跑出回測」與「回測可信」是兩回事。tick 級、無硬止蝕、金額止盈的策略,回測引擎的 tick 質量與成交假設會直接決定結果,美化空間極大。

MT5 可行性速評

項目評估
可移植性✅ 本身就是 MQL5 EA,SAR 為內建指標(iSAR),無外部依賴。
平台限制⚠️ 新聞過濾依賴 MT5 財經日曆,僅實盤可用;tick 環形緩衝區需 EA 持續在線運行,斷線重啟後 9 秒歷史需重新累積。
執行要求⚠️ 高。無硬止蝕 + 實時風控,要求低延遲 VPS、穩定連線與低點差賬戶,否則「延遲止蝕」會變成「延遲爆倉」。
評級⚠️ 技術上完全可運行,但風控設計不適合直接上實盤。

防坑檢查

欣利克觀點

這兩集的價值,不在於「9 秒狙擊手」能不能複製 70 倍,而在於它示範了怎樣解剖一份別人的 EA 源碼

  1. 先講策略哲學,再看代碼。SAR 反向用、9 秒動能、延遲止蝕——每一個設計背後都是明確的交易觀:賭瞬間爆發、拒絕被洗盤、用輕倉換容錯。看懂「為什麼這樣寫」比抄代碼重要。
  2. 作者的「小調皮」最誠實。嘴上看不懂風險的人,不會在倉位計算裡偷偷 ×2。代碼裡的每一處「自保」,都是作者對自己策略弱點的無聲供認。讀源碼時,這些地方才是重點。
  3. 兩集的分工本身就是教學:第一集搭骨架(數據結構、參數、初始化),第二集填血肉(掛單管理、風控、倉位)。自己寫 EA 也該是這個順序。
  4. 對「翻倍神器」類標題保持本站一貫立場:回測曲線越漂亮,越要先問 tick 質量、滑點假設與新聞行情怎麼處理。這三個問題,這支影片一個都沒有正面回答——這不是苛責影片(它的定位是源碼教學),而是提醒你:教學裡沒講的,恰恰是實盤會要命的。

如果你跟著兩集把這份 EA 敲了一遍,建議下一步不是優化參數,而是先給它補一個真正的硬止蝕,再談其他。

原影片

本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看:

來源:https://www.youtube.com/watch?v=nmZTNNRB7Ec

來源:https://www.youtube.com/watch?v=MqWJgo3RANU

🏦 ZA Bank 開戶優惠

本站所有內容免費提供。多使用網站的推薦碼,就是對我們繼續製作優質內容的最大鼓勵和支持 🙏

去 ZA Bank 開戶,享價值 HKD 2,000 迎新獎賞,仲有機會享 USD 30 指定美股兌換券!

  • 💛 全線上開戶,無需前往分行
  • 💛 無最低存款要求,零賬戶管理費
  • 💛 24x7 銀行服務

專屬邀請碼:P20923

立即開戶 → (聯盟連結)