Supertrend 策略寫成 Python Bot:Quant Tactics 聲稱一年 212%、完整代碼公開拆解

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

YouTube 頻道 Quant Tactics 在 2025 年 4 月上載了一條策略影片,把超級趨勢指標 Supertrend 配搭三道濾網——100 期 指數移動平均線 EMA、4 小時圖的平均真實波幅 ATR 分位數動態門檻、浮動調節的平均趨向指數 ADX——用 Python 在 Freqtrade 框架寫成自動交易 Bot,回測 GRT 永續合約 1 小時圖一年,聲稱總回報 212%,而同期市場本身下跌約 51%,最大回撤僅 12.5%。本片是該頻道 Supertrend 系列的早期版本:標題註明「Full Code Inside」,講者稱完整策略檔案放於影片描述免費下載。其後同頻道把同一思路升級為 walk-forward 樣本外 13 個月回測 184% 的版本,兩片對照來看更有意思。

策略速覽

重現規格

項目規格
投資標的GRT 永續合約(畫面標示 GRT/USDT:USDT,永續合約 Perpetual Futures,多空雙向)
交易所/市場Binance 合約(Isolated Futures 逐倉模式)
Timeframe交易用 1 小時圖(Timeframe Detail 5m);ATR 取自 4 小時圖
回測期間2024-03-01 至 2025-03-01(畫面 timerange 20240301-20250301,共一年)
起始資金1,000 USDT(畫面 Starting balance)
同時持倉上限1(Max open trades: 1,單一交易對)
Supertrend 參數Supertrend(13, 2)——代碼畫面顯示 supertrend_length: 13supertrend_multiplier: 2
EMA 濾網100 期 EMA(ema_length: 100):價格在其上只造好倉,在其下只造淡倉
ATR 動態門檻4 小時圖 ATR,以近 100 期窗口的分位數作門檻(atr_window: 100atr_threshold_low_pct: 0.3,即第 30 分位數);ATR 期數原片未交代
ADX 動態門檻門檻隨 ATR 浮動:ATR 高時要求更高 ADX,ATR 低時放寬;確實公式與期數原片未交代(須查代碼)
進場條件(好倉)收市價在 Supertrend 線之上+價格在 100 EMA 之上+4 小時 ATR 高於動態門檻+ADX 高於動態門檻,四項齊備於下一根 K 線進場;淡倉條件鏡像反轉
出場條件以 Supertrend 線作追蹤止蝕 Trailing Stop:好倉收市價跌穿 Supertrend 即離場,淡倉上穿即離場(畫面 Use Exit Signal: true)
止賺無固定止賺(畫面 ROI 為空表),完全交由 Supertrend 翻轉訊號離場
止蝕畫面 Stoploss −20%;Trailing Stoploss 與 Custom Stoploss 均為 false
槓桿代碼畫面顯示 leverage_level: 1,但講者口述「有策略地使用槓桿放大利潤」,實際倍數原片未交代清楚
手續費/滑價假設原片未交代
其他參數代碼畫面另見 max_distance_percent: 0.06,用途原片未講解
策略代碼講者稱完整 Freqtrade 策略檔案放影片描述免費下載,另附「pair-optimized 版本」(一套設定交易多對、每對獨立調參)
講者聲稱結果總回報 212.443%(利潤 2,124 USDT,期末結餘 3,124 USDT)、49 次交易、勝率 51.02%、利潤因子 2.396、Sharpe 0.75、Sortino 2.17、最大回撤 12.54%;好倉 14 次賺 98.3%、淡倉 35 次賺 114.1%;同期市場 −51.865%

詳細拆解

指標分工:一個訊號、三道閘

整套策略的骨架是「Supertrend 出訊號,其餘指標負責否決」。超級趨勢指標 Supertrend 以 ATR 計算一條跟隨價格的動態線:收市價在線上視為潛在升勢,跌穿線下視為潛在跌勢。它比傳統均線更貼近即時價格行為,而且線的位置本身可兼任追蹤止蝕;缺點是橫行市中會反覆翻轉,製造大量假訊號——三道濾網正是為此而設。

第一道閘是 100 期 EMA:價格在 EMA 之上只找好倉,之下只找淡倉。這是趨勢跟蹤系統的標準配置,用大周期均線定方向、Supertrend 只負責時機,與同頻道後來的 Supertrend+EMA200 六年回測同源,分別只在均線期數(100 對 200)。

動態門檻:ATR 分位數與浮動 ADX

本片最值得學的部分,是拒絕用固定數字做過濾門檻。

第二道閘量度波動。橫行市的特徵是價格在狹窄區間上落、波動偏低,所以講者取 4 小時圖(比交易的 1 小時圖大一級)的 ATR 看整體波動狀態,再以近期數據的分位數作門檻:ATR 高於門檻才容許進場。口述示範用「第 40 分位數」,實際代碼參數是 atr_threshold_low_pct: 0.3(第 30 分位數)、窗口 atr_window: 100。分位數門檻會隨市場整體波動自動升降,不會像固定數字那樣過幾個月就失效——這是分位數 Quantile 思維在策略過濾上的典型應用。

第三道閘量度趨勢強度。ADX 數值越高代表趨勢越強(不分方向),講者同樣不用固定的「ADX 大於 25」,而是讓 ADX 門檻與 ATR 掛鈎:ATR 高(波動大)時要求更高的 ADX 確認強趨勢,ATR 低時放寬。背後邏輯是:波動大的日子需要更強的趨勢證據才值得進場。兩道閘合起來目標只有一個——避開波動不足、趨勢不明的橫行市,因為 Supertrend 這類趨勢指標正是在橫行市中輸錢。

策略指標設定示範:Supertrend 與 EMA 疊加主圖,下方副圖為 4 小時 ATR 與 ADX 截圖出自原片(Quant Tactics,2025-04-11):TradingView 示範圖,主圖為 Supertrend 線與 100 EMA,下方兩個副圖分別為較高時間框架的 ATR 與 ADX,虛線圈標示波動過濾的判讀位置。

進出場條件:四重確認,鏡像做空

好倉進場要四項同時成立:收市價在 Supertrend 線之上(短期方向)、價格在 100 EMA 之上(大方向)、4 小時 ATR 高於動態門檻(波動足夠)、ADX 高於動態門檻(趨勢夠強),齊備後於下一根 K 線進場。淡倉把方向條件全部反轉,波動與趨勢強度兩道閘不變。出場完全交給 Supertrend 翻轉:好倉收市價跌穿 Supertrend 線即離場鎖利,淡倉上穿即走。

這種「進場四重確認、出場單一訊號」的設計不對稱得很明顯:進場門檻堆得很高,出場只等一個翻轉。好處是錯過的訊號多、做錯的訊號少;代價是交易次數被壓得很低——一年只有 49 次交易,平均每日 0.13 次,大約每周才做一次。畫面顯示盈利交易平均持有約 1 日 16 小時,虧損交易平均 16 小時 40 分鐘,屬波段持倉節奏。

值得一提的是進場時機的寫法:四項條件齊備後不是即時追入,而是等下一根 K 線才進場。這個「延遲一根」的細節在回測中很常見,作用是避免用未收市的 K 線數據做判斷——收市價要正式收在市才算數,否則回測會用到實盤中根本拿不到的資訊,成績會被系統性高估。讀者自行重現時,這一根 K 線的差異足以令結果大幅偏離。

出場方面還有一層保險:畫面顯示 Freqtrade 的硬止蝕設在 −20%,正常情況下由 Supertrend 翻轉訊號先行離場,−20% 只在極端急跌急升、訊號來不及反應時兜底。盈利單平均持有約 40 小時、虧損單約 17 小時的結構,正是「蝕錢的單走得快」的側證。

回測設定與結果

回測用 Freqtrade 進行:GRT 永續合約、Isolated Futures 逐倉、1 小時圖(回測細節用 5 分鐘數據模擬)、期間 2024 年 3 月 1 日至 2025 年 3 月 1 日,起始資金 1,000 USDT、同時持倉上限 1。止蝕設 −20%、無固定止賺、無啟用 trailing stop 功能——出場完全靠 Supertrend 訊號。

講者聲稱的成績表:總回報 212.443%(1,000 USDT 變 3,124 USDT)、49 次交易中 25 次盈利,勝率 51.02%、利潤因子 2.396、Sharpe 0.75、Sortino 2.17、Calmar 88.67、最大回撤 12.54%。最好一日賺 35.78%、最差一日蝕 7.28%,最長連勝與連敗各 4 次。對照組是同期市場下跌 51.865%——換言之,策略在標的資產腰斬的一年中錄得正回報。方向分佈解釋了原因:淡倉 35 次、好倉只有 14 次,淡倉貢獻 114.1% 利潤略多於好倉的 98.3%。跌市之中,賺錢的主力來自做空,這與市場走勢一致。

Freqtrade 回測總表與策略參數代碼,箭咀標示 Total Profit 212.443%、Market change −51.865% 與 Max Drawdown 12.54% 截圖出自原片(Quant Tactics,2025-04-11):回測設定列明 2024-03-01 至 2025-03-01、Isolated Futures、1 小時圖、起始 1,000 USDT;左下疊加策略代碼參數(leverage_level 1、atr_threshold_low_pct 0.3、atr_window 100、ema_length 100、supertrend_length 13、supertrend_multiplier 2)。

8 個月樣本內+4 個月樣本外

講者交代了優化流程:用首 8 個月數據做樣本內調參,再用餘下 4 個月——Bot 從未見過的數據——做樣本外測試 Out-of-Sample 驗證,確認不是純粹對歷史過度擬合。資金曲線圖上亦見到兩段的分界標示。這比完全不做樣本外的示範好,但要留意:4 個月樣本外只屬一次性靜態切分,不是滾動驗證。同頻道後來把同一策略升級做 13 個月 walk-forward 滾動樣本外測試(聲稱 184%,詳見該篇拆解),驗證強度高得多——兩條片前後對照,正好看到同一策略在「靜態切分」與「滾動驗證」下的差異。

資金曲線全年持續向上,紅色與綠色虛線框分別標示樣本內與樣本外時段 截圖出自原片(Quant Tactics,2025-04-11):上圖為逐月交易盈虧分佈,中圖資金曲線(Cumulative Profit)全年反覆向上,左段紅框為 8 個月樣本內、右段綠框為 4 個月樣本外;下圖 Market change 顯示同期市場反覆下跌。

Pair-optimized 版本:三對 446%

講者另附一個「pair-optimized」版本:同一策略架構,但 GRT、ETH、AVAX 三對各自獨立調參、共用一個資金池(持倉上限 3)。畫面顯示同期回測總回報 446.909%(1,000 USDT 變 5,459 USDT)、117 次交易、勝率 55.56%、利潤因子 2.563、Sharpe 1.74、最大回撤 10.615%,同期市場 −38.86%;三對各自貢獻約 180%/142%/124%。數字更亮麗,但「每對獨立調參」意味每對都各自擬合一次歷史,過度擬合風險成倍放大——這點在防坑檢查再談。

系列對照:同一骨架的三次迭代

把本片放回頻道的 Supertrend 系列中看,脈絡更清楚。本站已拆解的 Supertrend+CHOP+Momentum 版本用 CHOP 指數過濾橫行市,本片改用 ATR 分位數+動態 ADX 雙閘,過濾工具不同、目標相同;後來的 walk-forward 版本則沿用本片的雙閘架構,把驗證方法升級。三條片其實是同一道題目的三次作答:如何令 Supertrend 避開橫行市,以及如何把驗證做得更嚴。

Pair-optimized 版本回測總表:三對共用資金,Total Profit 446.909% 截圖出自原片(Quant Tactics,2025-04-11):SuperTrend_EMA_PairOptimized 回測結果,Max open trades 3、117 次交易、勝率 55.56%、Sharpe 1.74、最大回撤 10.615%;淡倉貢獻 270.5% 多於好倉 176.4%。

重現 Backtest 清單

照住以下清單逐項核對,才知道能否真正重現這個回測:

結論:本片是同頻道中重現門檻最低的一條——規則口述完整、關鍵參數畫面可見、代碼據稱免費公開。若描述的代碼連結屬實,可以接近完整重現;剩下要核對的是 ADX 動態門檻公式、槓桿設定與手續費假設三項。

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

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

MT5 可行性速評

項目評估
可移植性中高。EMA、ATR、ADX 皆為 MT5 內建(iMA()iATR()iADX()),多時間框架取數(1 小時圖交易、4 小時圖 ATR)以 PERIOD_H4 參數即可實現;Supertrend 非內建指標,須用 ATR 自行計算上下軌,屬常見練習
平台限制分位數門檻需自行維護近 100 期 ATR 陣列並排序取第 30 分位數,代碼量不大但要自己寫;動態 ADX 門檻公式原片未公開,移植時只能按代碼照抄;GRT 這類中型幣在 MT5 券商未必有 CFD,標的可能要換
評級⚠️ 邏輯可完整移植,但兩個動態門檻的確實寫法必須先取得原片代碼核對,否則只是近似重現
MQL5 寫法提示Supertrend:iATR() 取值後按 (13, 2) 計算 basic upper/lower band 並加入趨勢延續規則;ATR 分位數:CopyBuffer 取 4 小時圖近 100 期 ATR 存入陣列,ArraySort 後取 index 30;ADX 動態門檻:按 ATR 水平分段設定要求值;進場用 PositionOpen 雙向,出場監察收市價與 Supertrend 線的交叉

即使成功移植,MT5 回測同樣會過度擬合。

防坑檢查

欣利克的看法

名詞解釋

常見問題 FAQ

Supertrend 已經內建趨勢判斷,為何還要三道濾網?

因為 Supertrend 在橫行市會反覆翻轉、製造假訊號。EMA100 負責過濾大方向(逆勢不做)、4 小時 ATR 分位數過濾波動不足的靜市、ADX 過濾趨勢強度不足的亂市——三道閘各自剔除一類假訊號。代價是交易次數大減:截至 2025 年 3 月的一年回測只有 49 次交易,平均每周約一次。

動態門檻與固定門檻實際差幾遠?

固定門檻(例如「ATR 大於 0.5」或「ADX 大於 25」)在市場波動結構改變後會失效:長期高波動時所有日子都過關,等於無過濾;長期低波動時無日子過關,策略停擺。分位數門檻跟住近期數據自動升降,本策略用近 100 期的第 30 分位數,即「波動要高於近期三成時間的水平」,無論市場整體變得波動定安靜,門檻都維持在同一相對位置。

212% 回報 vs 市場跌 51%,應該如何解讀?

正確讀法是「策略在跌市中靠做空賺錢」,不是「跑贏市場 263 個百分點」那麼簡單。淡倉貢獻 114.1%、好倉 98.3%,利潤略過半來自做空;若當年標的上升,成績表的構成會完全改寫。另外 212% 是單一標的、單一年份、經 hyperopt 調參後的結果,三者疊加意味不能外推到其他幣種或年份。

代碼免費下載,是否代表可以直接照用?

不代表。代碼公開解決的是「可驗證」問題——你可以自行 backtest 核實 212% 是否屬實、參數是否如片所述;但驗證歷史表現與實盤可用是兩回事。片中回測只有一年、單一標的、49 次交易,樣本外的 4 個月更只有十幾次交易,加上手續費與滑價假設未公開,實盤前必須自行補做更長期、多標的的回測與模擬倉測試。

📌 推薦工具:TradingView

我日常看圖與畫線分析用的圖表平台,本站技術分析筆記的圖表概念都可以在這裡實踐。

了解詳情 → (聯盟連結)

原影片

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

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

🏦 ZA Bank 開戶優惠

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

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

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

專屬邀請碼:P20923

立即開戶 → (聯盟連結)