LuxAlgo 指標會重繪嗎?訊號回測方法
LuxAlgo 指標是一組 TradingView 腳本,依常見的指標概念畫出買賣標籤、價位與趨勢工具。標籤要先用逐根重播檢查是否重繪,再寫成明文規則,並在含成本、規則從未見過的資料上檢驗,才有參考價值。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
LuxAlgo 指標是什麼?圖表上會畫出哪些東西?
LuxAlgo 指標是一組 TradingView 腳本,依常見的指標概念,在圖表上畫出買賣標籤、支撐與壓力價位和趨勢工具。凡是在尚未收完的 K 棒上作畫的腳本,都可能重繪。所以先用逐根重播檢查,再把每個訊號寫成明文規則,計入成本,在保留期(樣本外)資料上檢驗。
LuxAlgo 為 TradingView 圖表平台發布指標腳本。部分是任何人都能加到圖表上的免費公開腳本,其餘是需要訂閱的付費腳本。不論價格,這些腳本在 K 線圖上疊加的內容分為四類:
- 買賣標籤。由趨勢與動能條件產生,和移動平均線穿越價格、或震盪指標離開極端區,屬於同一類概念。
- 支撐與壓力價位。依近期的波段高點與波段低點,也就是價格轉折的位置,畫出的線。
- 趨勢工具。以移動平均線建構的線條或彩色色帶,隨平滑後價格的方向變色。
- 警示。上述任一條件成立時發出的通知。
這些都不需要圖表以外的資料。這與指數期貨的市場廣度指標不同,後者需要第二組上漲與下跌家數的資料序列。標籤所依據的一切,都已在你看到的 K 棒開盤價、最高價、最低價與收盤價裡,這也是訊號能在舊價格上重播的原因。震盪指標的部分,與隨機指標及其 %K、%D 線用的是同一種概念:衡量收盤價落在近期區間的哪個位置。這些組成元素哪些能寫成檢驗、哪些只是裝飾圖表,在可檢驗的技術分析工具指南中有整理。
LuxAlgo 免費版夠用嗎?
免費腳本足以逐根研究每個訊號的行為,因為訊號有沒有用,取決的不是免費或付費。決定因素是:訊號能否寫成規則,並在扣除手續費與滑價後,在舊價格上重播。免費腳本會顯示標籤落在哪裡,也讓你觀察標籤在 K 棒形成過程中如何出現與消失。接下來兩節的兩項檢查,這些就夠了。付費腳本在訂閱之下多了更多工具與警示選項,但仍屬顯示層,而顯示層無法替自己評分。
下表分列各來源提供的內容。最後三列是交易人投入資金前真正需要的,而這三項都不來自圖表疊加內容,不論免費或付費。
| 你得到什麼 | 免費腳本 | 付費腳本 | 自己做的回測 |
|---|---|---|---|
| 圖表上的訊號標籤 | 有 | 有 | 有,以記錄下來的進場呈現 |
| 支撐與壓力價位 | 有 | 有 | 只有寫成規則才有 |
| 警示 | 有 | 有 | 不需要 |
| 寫明的進場與出場規則 | 無 | 無 | 有 |
| 計入手續費與滑價 | 無 | 無 | 有 |
| 在規則從未見過的資料上的結果 | 無 | 無 | 有 |
所以,「免費版夠不夠用」的實際答案是:夠用,足以做最重要的那件事:把訊號研究到能寫下來。選一個免費腳本、一個商品與一種 K 棒週期,花一小時觀察標籤的行為,之後再考慮任何花費。
LuxAlgo 會重繪嗎?如何檢查訊號顯示有沒有事後諸葛的成分
凡是在 K 棒收盤前畫出,或在後續 K 棒出現後移動的訊號,都帶有事後諸葛的成分,逐根重播就是檢查某個腳本是否如此的方法。重繪是指圖表訊號在後續 K 棒出現後改變、移動或消失,使你事後看到的圖表,不是當時會看到的圖表。重繪的標籤在截圖裡看起來準確,因為判斷錯誤的標籤都已被擦掉。
事後諸葛的成分,通常以三種方式混進顯示裡:
- 在形成中的 K 棒上作畫。K 棒未收盤時,最高價、最低價與收盤價持續變動。10:15 成立的條件,到收盤時可能不成立。腳本若條件一成立就畫,你看到的標籤可能撐不過收盤。
- 在較大 K 棒週期的數值尚未定案時就使用。小時圖上讀取的日線數值,要到當天結束才確定。腳本若在盤中就用上當天收盤後才有的日線值,等於知道了當天的未來。
- 在平滑後的 K 棒上作畫。平均 K 棒(Heikin Ashi)上的訊號,落在平均後的價格,而不是實際成交過的價格。它所暗示的任何成交,都必須對照下一根 K 棒的真實開盤價檢查。
重播檢查約需一小時,無需撰寫程式。TradingView 有重播模式,可讓圖表一次前進一根 K 棒。
- 把腳本放在圖表上,從約 100 根 K 棒之前開啟重播模式,並記下 K 棒週期。
- 一次前進一根 K 棒。每當形成中的 K 棒出現標籤,記下 K 棒編號與標籤類型。
- 再往前走兩、三根 K 棒。檢查標籤是仍在原位、已經移動,還是消失。
- 計數。好結果是,例如記下的 30 個標籤中,沒有任何一個移動或消失。壞結果是標籤主要在本來會虧損的 K 棒上消失。
重繪是更廣泛的問題中的一種,該問題詳見回測中的前視偏誤與一根 K 棒檢查法:規則知道了當時不可能知道的事。兩者的解法相同:所有條件只在已收盤的 K 棒上評估,並在下一根 K 棒行動。
怎麼把 LuxAlgo 訊號寫成進場與出場規則?
圖表標籤只是顯示層;寫成在收盤時評估的簡單條件,再加上固定出場、下一根 K 棒成交與成本,就成為可檢驗的策略。下一根 K 棒成交的規則是:在某根 K 棒收盤時讀到的訊號,於下一根 K 棒的開盤成交,絕不在讀到訊號的那個收盤價成交。少了這些,你只有一張箭頭落點的圖;加上之後,你有一份交易明細,每筆都有記錄下來的進場、出場與淨損益。
步驟依序如下:
- 把訊號寫成收盤時的條件。一句話,只用收盤時已知的數值。例如:「收盤價高於 20 根 K 棒的移動平均線,且震盪指標在這根 K 棒離開下方區間。」寫不出這句話,就無法檢驗這個標籤。
- 加上固定的出場規則。標籤告訴你何時進場,卻極少交代何時離場。選定一種出場並維持不變:反向標籤、固定的 K 棒根數,或以跳動點計的固定停損與停利。
- 設定手續費、滑價與下一根 K 棒成交。用你的期貨商手續費;流動性好的期貨,每邊至少計一個跳動點的滑價。
- 依日期切分歷史資料,一段用來選擇設定,較晚的一段留著評判。下一節說明切分方式並展示一份報表。
- 在較晚的一段,讀扣除成本後的平均每筆損益,並一併看交易筆數與回撤。
假設性範例
假設一個買進標籤條件,寫成收盤時的規則並以反向標籤出場,在某個指數期貨商品六年的日 K 棒上觸發 120 次。未扣成本的平均每筆損益是 $400。手續費每邊 $5,滑價每邊一個跳動點 $12.50,所以一買一賣的成本是 $35。平均每筆淨損益是 $365,120 筆合計約 $43,800。如果同一條規則在小時 K 棒上觸發 1,200 次,未扣成本的平均每筆損益為 $50,同樣的 $35 一買一賣成本只剩每筆 $15,再多一個跳動點的滑價就會轉為負值。出場與成本對結果的影響,不亞於標籤。
圖中的迴圈是關鍵。如果第 5 步的結果讓你想換出場,或換不同的回看期間,那就是新的候選策略,必須在它沒看過的資料上評判。在 AlphaPrime(Valynox)中,策略生成把指標概念轉成候選策略時就是這麼做:每個候選策略從一開始就自帶進場條件、出場條件與參數範圍,所以不會有只有標籤、沒有出場的情況。
LuxAlgo 訊號準確嗎?用成本與樣本外資料檢驗
準確度要從含成本、依日期切分期間的回測來看,而不是看畫滿標記的圖表。樣本內資料是歷史中較早的一段,用來選擇規則與設定。樣本外資料是較晚、不去動的一段,完成的規則只在上面跑一次,看它在從未見過的價格上表現如何。完整方法,包括較晚的一段需要多少筆交易,見樣本內與樣本外:怎麼切分、多少才夠。
為了展示這類報表的樣子,我們用 AlphaPrime 引擎跑了一條替代規則。這次測試的規則由標準指標構成:以效率自適應移動平均線作為唯一的進出場依據,沒有停損、停利與濾網。它不是 LuxAlgo 腳本,而是訊號套件常畫的、帶趨勢顏色的移動平均線,寫成規則以便評判。市場是 E-mini S&P 500 期貨(ES),日 K 棒,2019-01-02 至 2025-06-30,多空雙向,一口,每筆交易計 $20 手續費與 $25 滑價。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 數字 | 結果 |
|---|---|
| 淨利(已平倉) | $115,662.5 |
| 最大回撤 | $63,012.5 |
| 交易筆數 | 65 |
| 勝率 | 66.15% |
| 獲利因子 | 1.981 |
| 平均每筆 | $1,779.42 |
| 在市場時間 | 93.01% |

這份報表中有三件事,值得用讀自己報表的方式來讀。第一,所示的候選策略,是搜尋在試過的 1,024 個之中保留下來的那一個,依報酬對回撤的表現選出。事後挑出留下的那個,會讓它的樣本內數字好看:1,024 個變體之中,光靠機率就有一些會在調整用的期間看起來不錯。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,同一段歷史上比較的變體越多,即使沒有一個真正具備優勢,最佳的那個也會越好看。保留下來的候選策略並沒有以任何讀者可預期的意義「賺到」$115,662.5;它只是一條規則在一段過去期間、經過一次挑選後的記錄結果。第二,在市場時間 93.01%,表示規則幾乎一直持有部位,不是多就是空,因為它沒有停損,每次穿越就反手。只在穿越處畫箭頭的訊號套件,會隱藏這一點。第三,六年半 65 筆交易是小樣本,所以只要換掉幾筆交易,平均每筆損益 $1,779.42 就可能大幅變動。
這就是為什麼權益曲線圖上標出的樣本外那一段,才是要看的部分。樣本內那一段用來挑出那張卡片;只有較晚的一段才能評判它。Sullivan、Timmermann 與 White(1999)在長期股票歷史上測試了數千條技術交易規則,發現把試過的規則數量納入考量後,最佳規則的記錄大幅縮水。Harvey 與 Liu(2015)建議,任何回測結果都應依其背後的檢驗次數打折。對你自己的 LuxAlgo 式規則,做法單純:在較早的一段固定設定,在較晚的一段只跑一次,並在那裡讀扣除成本後的平均每筆損益。
LuxAlgo 好用嗎?訊號截圖無法告訴你的四件事
LuxAlgo 好不好用,要看你自己的檢驗記錄,而不是圖表,因為訊號截圖看不到的四件事,正是區分圖片與證據的關鍵。每一種訊號套件都是如此,不論是 LuxAlgo 或其他。標著買賣箭頭的一段價格截圖,無法回答下列問題;自己回測得到的交易明細,四個問題都能回答。
| 未解的問題 | 截圖為什麼答不了 | 答案在哪裡 |
|---|---|---|
| 我會用什麼樣的出場? | 箭頭只標示進場;出場由下一個箭頭暗示,或根本不顯示 | 交易明細中的固定出場欄 |
| 每筆交易讓我付出多少成本? | 箭頭不用錢;期貨的一買一賣要錢 | 手續費與滑價欄 |
| 規則在從未見過的資料上表現如何? | 每張截圖都是回頭看一段已經知道的行情 | 樣本外分隔線右側的交易 |
| 在這一個之前,試過多少變體? | 截圖只顯示一組設定;產生它的搜尋看不見 | 你自己的候選策略記錄,於執行前寫下 |
這些都不需要訂閱或程式碼。需要的是寫下一個條件、選定一種出場、計入實際成本,並讓較晚的一段資料保持不動。好的檢驗記錄,樣本外平均每筆損益為正,且是一買一賣成本的數倍,並來自足夠多的交易,使少數幾筆無法翻轉正負號。壞的記錄,是陡峭的樣本內曲線配上持平或下滑的樣本外段,或是滑價加倍後結果就消失。
下一步:拿一個免費腳本,把它的買進條件寫成只用已收盤 K 棒數值的一句話,並重播 100 根 K 棒,數有幾個標籤移動或消失。接著把這句話當作規則,在你自己的一個商品日資料上,用你的期貨商手續費與每邊一個跳動點的滑價執行,只讀最後兩年扣除成本後的平均每筆損益。
常見問題
LuxAlgo 指標在 TradingView 上免費嗎?
部分 LuxAlgo 腳本是任何人都能加到 TradingView 圖表的免費公開腳本,其餘是需要訂閱的付費腳本。免費腳本足以逐根觀察訊號的行為,並把它寫成規則,而這正是檢驗的關鍵。
指標重繪是什麼意思?
重繪是指圖表上的訊號在後續 K 棒出現後改變、移動或消失。常見原因是在尚未收盤的 K 棒上作畫,或在較大 K 棒週期的數值尚未定案前就使用。重繪的訊號事後看起來準確,因為判斷錯誤的標籤已被擦掉。檢查方法是在重播模式中逐步前進,把每個標籤與 K 棒收盤後留下的內容比對。
無需撰寫程式也能回測 LuxAlgo 訊號嗎?
可以,只要能把訊號寫成只用收盤時已知數值的一句話。加上固定出場、手續費與滑價、下一根 K 棒成交,再依日期切分歷史資料,用你自己的歷史 K 棒資料執行。寫不出這句話,訊號就無法重播,任何工具都無法檢驗。
要有多少筆交易,才能相信訊號的結果?
要多到換掉幾筆交易也不會改變平均每筆損益的正負號。許多系統化交易人把少於約 30 筆的樣本外交易僅視為線索,要累積數百筆才信任每筆損益數字。每月只交易幾次的日 K 棒規則,需要多年資料或推進分析的設計,才能達到這個筆數。
參考文獻
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.

