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: 13、supertrend_multiplier: 2 |
| EMA 濾網 | 100 期 EMA(ema_length: 100):價格在其上只造好倉,在其下只造淡倉 |
| ATR 動態門檻 | 4 小時圖 ATR,以近 100 期窗口的分位數作門檻(atr_window: 100、atr_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 這類趨勢指標正是在橫行市中輸錢。
截圖出自原片(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%。跌市之中,賺錢的主力來自做空,這與市場走勢一致。
截圖出自原片(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 避開橫行市,以及如何把驗證做得更嚴。
截圖出自原片(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 清單
照住以下清單逐項核對,才知道能否真正重現這個回測:
- ✅ 交易所與市場類型:Binance 永續合約、Isolated Futures 逐倉(畫面有)
- ✅ 交易對:GRT/USDT:USDT(畫面有);pair-optimized 版為 GRT+ETH+AVAX
- ✅ Timeframe:1 小時圖(detail 5m),ATR 取 4 小時圖(口述清楚)
- ✅ 回測期間:timerange 20240301-20250301(畫面有)
- ✅ 起始資金:1,000 USDT(畫面有)
- ✅ 同時持倉上限:1(pair-optimized 版為 3,畫面有)
- ✅ 進場條件:四重確認邏輯口述清楚,方向與順序明確
- ✅ Supertrend 參數:(13, 2),代碼畫面可見
- ✅ EMA 期數:100,代碼畫面可見
- ✅ ATR 動態門檻:
atr_window: 100、atr_threshold_low_pct: 0.3(第 30 分位數),代碼畫面可見;惟 ATR 期數本身原片未交代 - ⚠️ ADX 動態門檻的確實公式與期數:原片未交代,須查代碼
- ⚠️
max_distance_percent: 0.06的用途:原片未講解,須查代碼 - ✅ 出場條件:Supertrend 翻轉離場(口述清楚);ROI 空表即無固定止賺、Stoploss −20%(畫面有)
- ⚠️ 槓桿:代碼顯示
leverage_level: 1,但講者口述有用槓桿放大利潤,前後不一致,須查代碼核對 - ⚠️ 手續費率與滑價假設:原片未交代
- ✅ 策略代碼:講者稱完整策略檔案(含 pair-optimized 版本)放影片描述免費下載——若屬實,以上所有 ⚠️ 項均可由代碼直接核實
- ⚠️ 樣本外驗證:有,但僅 4 個月靜態切分,非滾動 walk-forward
結論:本片是同頻道中重現門檻最低的一條——規則口述完整、關鍵參數畫面可見、代碼據稱免費公開。若描述的代碼連結屬實,可以接近完整重現;剩下要核對的是 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 回測同樣會過度擬合。
防坑檢查
- 過度擬合:8 個月樣本內用 hyperopt 調參,參數不算多(Supertrend 長度與倍數、EMA 期數、ATR 窗口與分位數),風險中等;但 pair-optimized 版本對三對各自調參,等於擬合三次,446% 那個數字的擬合成分必然更高,不宜與 212% 直接比較。
- 樣本外驗證:有,是優點——但只是 4 個月一次性靜態切分,無滾動驗證;且 49 次交易中樣本外只佔約三分之一,即十幾次交易,統計意義有限。同頻道後來的 13 個月 walk-forward 版本在這點上明顯較嚴謹。
- 滑價:原片未交代。49 次交易、總成交額約 20.4 萬 USDT(畫面 Total trade volume),頻次低,滑價影響相對同頻道其他策略小,但永續合約仍須計資金費率,原片同樣沒有講。
- 手續費:原片未交代費率。Binance 合約單邊約 0.04%–0.05%,49 次來回影響溫和,但重跑時必須自行核對 Freqtrade 設定。
- 單一標的偏差:回測只用 GRT 一對,而 GRT 當年下跌 51.9%——跌市正是趨勢策略做空的順風環境。換一對當年橫行或上升的幣,結果可以完全不同;講者為何選 GRT,原片沒有交代篩選過程。
- 槓桿口徑不一:口述「有策略地使用槓桿」,代碼畫面卻是
leverage_level: 1,而平均注碼 2,079 USDT 高於起始資金 1,000 USDT(可解釋為複利滾存後的注碼)。三個說法未完全對得上,以代碼為準。 - 回撤口徑:最大回撤 12.54% 是帳戶層面數字,配合 −20% 的單倉止蝕上限與逐倉模式——個別交易理論上可蝕兩成,帳戶回撤小於此數只因單倉輪替。讀 12.5% 時要記住止蝕上限其實是 20%。
- 固定問題——原片提供的資訊能否完整重現回測? 接近可以。進出場邏輯、標的、期間、資金、持倉上限、主要參數全部有交代,代碼據稱免費公開;唯 ADX 動態門檻公式、槓桿設定、手續費與滑價四項需取得代碼核對後才算真正可重現。
欣利克的看法
- 「Full Code Inside」是這類影片最值錢的四個字。截至 2025 年 4 月的這條片,規則口述完整、參數在代碼畫面直接可見、檔案據稱免費下載——重現門檻是同頻道作品中最低之一。回測影視內容的最大問題從來不是策略好壞,而是無法驗證;公開代碼直接把這個問題拆掉一半,這種做法值得鼓勵。
- 動態門檻是真正的教學重點,比 212% 重要。用 ATR 分位數取代固定波動門檻、讓 ADX 要求隨波動浮動,解決的是「固定參數過幾個月就失效」這個策略過濾的通病。這個思路可以搬走用在任何需要過濾橫行市的策略上,即使不碰 Supertrend 也值得學。
- 212% 的成色要放在跌 52% 的市況中讀。利潤略過半來自淡倉(114% 對 98%),即策略的主要功勞是「在跌市中肯做空」,而非擇時神準。GRT 全年腰斬是趨勢策略的順風;若標的當年橫行,四重過濾會令策略大部分時間不進場,結果可能是不賺不蝕——這正是趨勢系統的本質,不是缺點,但讀者要認清。
- Sharpe 0.75 與 Sortino 2.17 的巨大落差值得留意。截至 2025 年 3 月的回測中,下行波動遠小於上行波動(賺時波動大、蝕時波動小),所以 Sortino 亮麗而 Sharpe 平庸。單看 Sharpe 會低估它,單看 Sortino 會高估它——兩個數並讀才是全貌。
- 利益關係照舊要知。講者經營 Freqtrade 付費課程,片中明確推銷課程連結;代碼免費放出是引流手法的一種,透明度比付費牆高,但回測數字依然服務於銷售目的,宜當教學示範看待。
名詞解釋
- 超級趨勢指標 Supertrend:以 ATR 計算的趨勢跟隨線,價格在線上為升勢、線下為跌勢,本策略以其作訊號來源兼追蹤止蝕,參數 (13, 2)。
- 指數移動平均線 EMA:對近期數據加權較高的均線,本策略用 100 期作大方向濾網。
- 平均真實波幅 ATR:量度價格波動幅度的指標,本策略取 4 小時圖 ATR 配分位數門檻過濾橫行市。
- 平均趨向指數 ADX:量度趨勢強度(不分方向)的指標,本策略的門檻隨 ATR 浮動而非固定。
- 分位數 Quantile:把數據排序後按比例切分的位置值,本策略以近 100 期 ATR 的第 30 分位數作動態波動門檻。
- 追蹤止蝕 Trailing Stop:跟隨價格移動的止蝕方式,本策略由 Supertrend 線兼任。
- 多時間框架分析 Multi-Timeframe:同時參考不同周期的數據,本策略在 1 小時圖交易、用 4 小時圖 ATR 判斷波動狀態。
- Freqtrade:開源加密貨幣自動交易與回測框架,本片的回測與 Bot 平台。
- Hyperopt:Freqtrade 內建的參數優化工具,本策略以 8 個月樣本內數據調參。
- 樣本外測試 Out-of-Sample Testing:用未參與調參的數據驗證策略,本片用 4 個月靜態切分。
- 過度擬合 Overfitting:參數過度遷就歷史數據的風險;pair-optimized 版本對三對各自調參,風險更高。
- 永續合約 Perpetual Futures:無到期日的加密貨幣衍生品,可多空雙向,本片標的 GRT 永續。
- 槓桿 Leverage:以保證金放大持倉規模,本片代碼顯示 1 倍但口述稱有使用,口徑不一。
- 勝率 Win Rate:盈利交易佔總交易的百分比,本策略 51.02%。
- 利潤因子 Profit Factor:總盈利除以總虧損,本策略 2.396。
- 夏普比率 Sharpe Ratio:每單位總波動換取的超額回報,本策略 0.75。
- 索提諾比率 Sortino Ratio:只計下行波動的風險調整回報指標,本策略 2.17,與 Sharpe 的差距反映盈虧波動分佈不均。
- 最大回撤 Max Drawdown:資金曲線由高位回落的最大幅度,本策略帳戶層面 12.54%。
- 滑價 Slippage:預期與實際成交價的差異,原片未交代有否計入。
常見問題 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 個月更只有十幾次交易,加上手續費與滑價假設未公開,實盤前必須自行補做更長期、多標的的回測與模擬倉測試。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: