Alligator 鱷魚指標日內策略:ChatGPT o1 出題、五重過濾疊加,回測 1,721% 拆解|Quant Strategies Ep 6 筆記
第 6 課・共 18 課
目錄
Algo-trading with Saleh 的 Saleh 這次以 Bill Williams 的鱷魚指標 Alligator 為核心,先用 ChatGPT o1 講解策略邏輯與進出場規則,再在 Jesse 框架寫成 Python 日內策略,逐步疊加五重過濾。標題以外的亮點是 1,721% 的回測淨盈利——但正如過往各課,這是特定設定下(BTC-USDT、2022 年起、倉位乘五倍後)的教學案例數字,並非實盤成績。本文重構片中邏輯,並拆解這個數字如何構成。
學習重點
- 指標核心:Alligator 由三條平滑均線構成——顎(13 期)、齒(8 期)、唇(5 期);唇在齒上、齒在顎上且價格企於三線之上視為升勢,反序為跌勢,三線交纏代表趨勢休止。
- 倉位與出場:市價單入場,每單風險為可用保證金的 3%,止蝕設於入場價減 2 倍 ATR,數量用
risk_to_qty反推;低時間框架改用固定止盈,風險回報比 1:1。 - 五重過濾逐次疊加:ADX 高於 30、大時間框架鱷魚同向、大框架 100 EMA 定方向、CMO 動能閾值(30 試至 20)、Stochastic RSI 超買超賣過濾;每加一重便重跑 15m/30m/1h/4h 對照。
- 首輪回測的規律:未加過濾時,時間框架越低虧得越多——15 分鐘圖最差,最終被整個棄用。
- 1,721% 的由來:六重條件齊備後最大回撤僅約 -6% 至 -7%,講者把倉位乘五倍,回撤升至約 -30%,回測盈利同步放大——是倉位調整,不是訊號本身的邊際。
詳細筆記
Alligator:三條均線的鱷魚比喻
Saleh 開場先向 ChatGPT o1 提問:解釋 Alligator 策略如何運作、進出場規則,以及應配甚麼指標避開橫行市。鱷魚指標由三條向前偏移的平滑移動平均線構成:藍線是「顎」(Jaw),周期 13;紅線是「齒」(Teeth),周期 8;綠線是「唇」(Lips),周期 5,是三者中最快的一條。比喻很形象:鱷魚睡醒張口覓食時,最快動的是唇,其次是齒,最後是顎——三線依次散開代表趨勢啟動;當三線重新交纏,代表鱷魚吃飽閉口,趨勢結束。三線除了周期不同,還各自向前偏移(顎前移 8 期、齒前移 5 期、唇前移 3 期),目的是讓快線更早對價格作出反應。這是教科書式的趨勢跟蹤指標,天生怕橫行市,正正因為如此,全片的主線其實不是 Alligator 本身,而是「用甚麼濾網把橫行段擋掉」——講者開場給 ChatGPT 的提問已寫明:請順帶建議可搭配使用的指標,特別是用來避開橫行市(ranging market)的。

截圖出自原片(Algo-trading with Saleh):BTC-USDT 1 小時圖上的 Alligator——三線由糾纏轉為依次散開(唇、齒、顎),即「鱷魚張口」的趨勢啟動段。
基本進出場規則與倉位
進場條件(好倉):唇值大於齒、齒大於顎,且當前價格企於三線之上;淡倉完全鏡像。在 Jesse 裏,Saleh 用 ta.alligator 取指標(參數全用預設),再寫一個 trend 屬性把三線排序與價格位置壓縮成 1、-1、0 三態(摘錄自原片教學):
@property
def trend(self):
a = self.alligator
if a.lips > a.teeth > a.jaw and self.price > a.lips:
return 1
if a.lips < a.teeth < a.jaw and self.price < a.lips:
return -1
return 0
開倉用市價單,止蝕設於入場價減 2 倍 ATR,每單風險 3%,數量用 Jesse 的 risk_to_qty 以可用保證金、入場價、止蝕價與當前費率反推(摘錄自原片教學):
def go_long(self):
entry = self.price # 市價單入場
stop = entry - ta.atr(self.candles) * 2 # 2 倍 ATR 止蝕
qty = utils.risk_to_qty(self.available_margin, 3,
entry, stop, fee_rate=self.fee_rate)
self.buy = qty, entry
出場方面,他先試 ChatGPT 的建議:唇線反向穿越齒線便平倉——在 update_position 裏判斷「持好倉而 trend 不再是 1」即平倉,淡倉鏡像。這個動態出場在後來的低時間框架版本中被固定止盈取代。另外,Jesse 策略模板要求填寫 should_cancel_entry,但因為用市價單開倉、不存在掛單等待成交的情況,講者明言此欄填甚麼都不影響結果。
首輪回測:時間框架越低虧得越多
回測在 Jesse 進行,標的 BTC-USDT,由 2022 年初跑至影片拍攝前數日(數據截至 2024 年底),同時開 15 分鐘、30 分鐘、1 小時、4 小時四個時間框架,用 benchmark 頁並排對照。結果呈現清晰的規律:時間框架越低,虧得越多——15 分鐘圖最差,30 分鐘稍好,1 小時與 4 小時再穩定一些。講者的結論很直接——需要過濾器。這與第 7 課 KAMA 剝頭皮的首輪結果同出一轍:趨勢指標在低框架被橫行噪音反覆觸發,交易成本把微薄邊際磨光。值得留意他的驗證習慣:同一策略同時跑四個框架並排比較,為方便對照還特意在 benchmark 頁隱藏日期、策略名等欄位,只留下交易宗數、淨盈利、最大回撤與夏普比率等核心指標,而不是挑一個順眼的框架交差。
過濾一與二:ADX 與大時間框架鱷魚
第一重是 ChatGPT 建議的平均趨向指數 ADX:ADX 高於 30 才准開倉,好淡倉同用。重跑後四個框架全部改善,4 小時圖表現最好。他補充自己幾乎試遍了 ChatGPT 建議的所有濾網,但片中只展示實際有效的——這句話本身已是重要的選擇偏差提示。第二重是講者的慣技——大時間框架確認:用 get_candles 取 4 小時 K 線再算一次 Alligator,只有大框架鱷魚同向才開倉;若交易框架本身已是 4 小時,則動態改用 6 小時。重跑後 30 分鐘與 1 小時圖明顯轉好,4 小時圖稍遜但仍可接受,唯獨 15 分鐘圖依然很差,講者索性把它從 benchmark 剔除——既省運算時間,也等於承認這策略的訊號密度不適合那個框架。

截圖出自原片(Algo-trading with Saleh):加入 ADX 與大框架確認後的入場規則——好倉要求 trend == 1、adx 達標且 big_trend == 1;止蝕為入場價減 2 倍 ATR。
過濾三:大框架 100 EMA 與固定止盈
針對 1 小時圖,講者用了他處理低時間框架的慣常手法:放棄動態出場,改為在 on_open_position 事件內即時掛出固定止蝕與止盈單,止蝕仍是入場價減 2 倍 ATR,止盈距離與止蝕相同,即風險回報比 1:1。之後再加第三重過濾:大時間框架的 100 指數移動平均線 EMA——價格在線上回傳 1、線下回傳 -1,方向一致才開倉。重跑後各框架夏普比率全面微升,1 小時圖的淨值曲線形態他最滿意:即使橫行段表現平平,但同期幾乎所有趨勢跟蹤策略都被輾過,橫行時不虧已是相對優勢。此時入場條件已達四重,交易宗數明顯下降,但每一單的質素提升。
過濾四與五:CMO 與 Stochastic RSI
為再進一步,講者改用他自行訓練、載入了 Jesse 文件與策略範例的定製版 GPT 出主意。OBV 等成交量指標、RSI、MACD 逐一試過全部無效,直到錢德動量擺動指標 CMO:數值介乎 -100 至 +100,圖表上他以零軸分升跌,再指出真正需要的是正負閾值——先試 ±30 閾值,效果參差(4 小時圖改善、1 小時圖轉差),改試 ±20 後 1 小時圖夏普比率升至 1.4、淨盈利 147%。最後一重是隨機相對強弱指數 Stochastic RSI——他明言經驗上它比傳統 Stochastic 好用,但說不出原因; Jesse 回傳的是包含 %K 與 %D 的元組(初試時因此報錯),他只取 %K 值(%D 是 %K 的均線,用不上),低於 20 才造好倉、高於 80 才造淡倉。至此最終入場規則收斂為(摘錄自原片教學):
def should_long(self) -> bool:
return (self.trend == 1 and self.adx # 鱷魚同向+ADX > 30
and self.big_trend == 1 # 大框架鱷魚同向
and self.long_term_ma == 1 # 企於大框架 100 EMA 上
and self.cmo > 20 # 動能達標
and self.srsi < 20) # 超賣區才追勢
回測成績與 1,721% 的由來
五重過濾齊備後:30 分鐘圖夏普比率約 1.99、1 小時圖約 1.5,4 小時圖回落被棄用。關鍵一步接着出現——兩個框架最大回撤僅約 -6% 與 -7%,而講者自訂的風險上限是 -30%,於是他把倉位數量乘五倍再跑:最大回撤升至約 -29.6%(30m)與 -32.9%(1h),30 分鐘圖淨盈利達 1,721.7%、1 小時圖 734.9%(截至影片拍攝時的回測讀數)。淨值曲線上已看不見同期 BTC-USDT 的走勢,他亦把回測期由 2022 年起延長重跑確認,並特別點出:曲線在橫行段大致走平而沒有大幅回吐,同期大部分趨勢跟蹤策略都被那段市況輾過。

截圖出自原片(Algo-trading with Saleh):1 小時圖淨值曲線(紫)對照 BTC-USDT(黃),回測由 2022 年初起,橫行段組合淨值大致橫行而標的大跌。

截圖出自原片(Algo-trading with Saleh):倉位乘五倍後的 benchmark——30m 交易 161 宗、淨盈利 1,721.7%、夏普 1.9;1h 交易 147 宗、淨盈利 734.9%、夏普 1.5。
換言之,1,721% 的構成是「訊號邊際 × 5 倍倉位」。片末他另展示一個付費進階版(Sharpe 2.0、卡瑪比率 3.8、勝率 72%,平均持倉約 9 小時,故稱日內策略),源碼放於其網站,屬頻道推廣內容,本筆記不轉載,讀者亦應注意講者出售策略源碼的利益關係。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
MT5 可行性速評
| 項目 | 評估 |
|---|---|
| 邏輯可移植性 | 高。MT5 內建 iAlligator,jaw/teeth/lips 三線直接對應三個 buffer,配合 iADX、iATR、iMA(100 EMA),三線排序加價格位置判斷只是數行比較;大時間框架確認只需對 PERIOD_H4 再開一個句柄(MT5 無 6 小時標準週期,需變通)。 |
| 平台限制 | CMO 與 Stochastic RSI 均無內建指標,須自寫自訂指標(後者可對 RSI 值再跑一次隨機公式);Jesse 的 risk_to_qty 在 MT5 要按帳戶幣種與合約規格自行換算;加密貨幣永續合約亦非一般 MT5 券商標的,移植後所有閾值須重新驗證。 |
| 評級 | ⚠️ 核心訊號(iAlligator+ADX+ATR 倉位)幾乎一行對一行移植,但五重過濾中兩重指標要自行實現;且閾值全是看回測調出來的,換平台後重新調參的誘惑與擬合風險依舊。 |
| MQL5 寫法提示 | 見下 |
int gator = iAlligator(_Symbol, PERIOD_CURRENT, 13,8, 8,5, 5,3, MODE_SMMA, PRICE_MEDIAN);
int gatorH = iAlligator(_Symbol, PERIOD_H4, 13,8, 8,5, 5,3, MODE_SMMA, PRICE_MEDIAN);
int adx_h = iADX(_Symbol, PERIOD_CURRENT, 14);
double jaw[], teeth[], lips[], adx[];
CopyBuffer(gator, 0, 0, 1, jaw); // buffer 0 = 顎
CopyBuffer(gator, 1, 0, 1, teeth); // buffer 1 = 齒
CopyBuffer(gator, 2, 0, 1, lips); // buffer 2 = 唇:lips>teeth>jaw 且 Close[0]>lips[0] 即升勢
注意:即使移植成功,MT5 策略測試器跑出的回測同樣會過度擬合——ADX 30、CMO 20、Stochastic RSI 的 20/80、倉位乘五倍,全是看著結果調出來的參數,換平台不解決方法論問題。
欣利克的看法
- 防坑檢查一:1,721% 要除回倉位倍數。這個數字來自「倉位乘五倍」後的回測讀數;加碼前 1 小時圖淨盈利約 106% 至 147%(2022 年初起、截至影片拍攝時),這才是策略的原材料成績。乘五倍把回撤由約 -7% 同步推上約 -30%——槓桿化回測報酬與策略實力是兩回事,同一操作套在虧損策略上,虧損亦放大五倍。
- 防坑檢查二:Alligator 天生滯後。三線全是平滑均線,「張口」確認時趨勢往往已走了一段,橫行市則反覆發出假訊號——原片自己證明了這點:未加過濾時越低框架虧得越多。換言之這策略的邊際主要來自五重濾網,而非鱷魚本身;把功勞記在指標名字上是常見誤區。
- 防坑檢查三:參數與框架都是挑出來的。CMO 由 30 改 20 是因為 30 在 1 小時圖變差;15 分鐘與 4 小時圖先後被棄用;每個閾值都是跑完回測才決定。這是教科書式的過度擬合流程,片中亦無樣本外驗證,數字能否在未來重現並無證據。
- 值得學的部分:Saleh 的迭代節奏依然紮實——每次只加一重過濾、立即重跑四個框架對照,AI 建議十居其九無效(OBV、RSI、MACD 全軍覆沒)也如實交代,沒有剪輯成「一問即中」。把 AI 當出主意的助手而非神諭,這個定位與第 7 課一致。
- 時效提醒:回測數據截至 2024 年底影片拍攝前,涵蓋 2022 年起的加密貨幣週期;截至 2026 年中,市場結構與費率環境已有變化。本文僅為學習記錄,不構成任何買賣建議。
名詞解釋
- 鱷魚指標 Alligator:Bill Williams 提出的三線趨勢指標(顎 13、齒 8、唇 5),以三線散開與交纏判斷趨勢啟動與完結;本策略的核心訊號。
- 平均趨向指數 ADX:量度趨勢強度而不分方向;本策略要求高於 30 才開倉,剔除橫行市。
- 平均真實波幅 ATR:量度每根 K 線平均波動範圍;本策略止蝕設於入場價加減 2 倍 ATR,止盈距離與止蝕相同。
- 錢德動量擺動指標 CMO:介乎 -100 至 +100 的動能震盪指標;本策略以 ±20 閾值過濾動能不足的訊號。
- 隨機相對強弱指數 Stochastic RSI:對 RSI 再算一次隨機公式的複合指標;本策略取 %K 低於 20 造好倉、高於 80 造淡倉。
- 指數移動平均線 EMA:近期價格權重較高的均線;本策略用大時間框架的 100 EMA 確認方向。
- 多時間框架分析 Multi-Timeframe:同一指標在更大框架再算一次作確認;本策略的大框架鱷魚與 100 EMA 均屬此手法。
- 夏普比率 Sharpe Ratio:每單位波動換取的超額回報;講者每加一重過濾便以此對照四個時間框架。
- 最大回撤 Drawdown:淨值由高位回落的最大幅度;講者以 -30% 為個人上限,據此決定倉位可乘五倍。
- 倉位規模 Position Sizing:按每單風險百分比與止蝕距離反推數量;本策略固定每單風險 3%。
- 過度擬合 Overfitting:策略過度遷就回測數據的噪音;本片所有閾值均為看著回測結果調校,屬高風險案例。
- 回測 Backtesting:以歷史數據檢驗交易規則;本課再次示範多時間框架並排對照的驗證節奏。
- 槓桿 Leverage:以保證金放大購買力;片中倉位乘五倍後的 1,721% 回測報酬正是槓桿化結果。
常見問題 FAQ
鱷魚指標的三條線如何分工?
三條線是同一套平滑均線、三種速度:唇(5 期)最快、齒(8 期)居中、顎(13 期)最慢。趨勢啟動時快線先動,於是唇、齒、顎依次散開,形如鱷魚張口;趨勢衰竭時快線先回頭,三線重新交纏,形如閉口。進場規則只是把這個比喻寫成不等式:好倉要求唇大於齒、齒大於顎、價格企於三線之上,淡倉完全反轉。
1,721% 的回測報酬可以當真嗎?
數字屬回測教學案例,且構成要拆開看:它是「倉位乘五倍」之後的讀數。加碼前,2022 年初起 1 小時圖淨盈利約 106% 至 147%、最大回撤約 -7%;乘五倍後回撤升至約 -30%,回報同步放大至四位數。此外所有參數(ADX 30、CMO 20、Stochastic RSI 的 20/80)都是看著回測結果調出來的,表現差的 15 分鐘與 4 小時圖亦被棄用,影片無樣本外驗證,未來能否重現並無保證。
為何 Stochastic RSI 低於 20 才造好倉,不是與趨勢跟蹤矛盾嗎?
表面矛盾的組合其實是「順大勢、逆小勢」:前面五重條件已確認大方向向上,最後一重超賣過濾等於要求等價格短線回調至超賣區才進場,變相買在趨勢中的回撤位而非追入急升段。講者亦明言選 Stochastic RSI 而非傳統 Stochastic 純粹是經驗之談,說不出原理——這種「回測話事」的取態正是需要警惕擬合的地方。
為何 15 分鐘圖表現最差,最終被棄用?
趨勢指標在低時間框架會被橫行噪音反覆觸發:三線剛散開便交纏,進出頻密但每單邊際微薄,手續費與滑點把利潤磨光——第 7 課的 KAMA 策略首輪回測亦出現同一規律。講者加入五重過濾後 15 分鐘圖依然虧損,於是直接剔除。要留意:棄用表現差的框架本身也是一種「看結果挑設定」,留下的漂亮數字因此含有選擇偏差。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: