VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 指標與訊號

LuxAlgo 指標會重繪嗎?訊號回測方法

LuxAlgo 指標是一組 TradingView 腳本,依常見的指標概念畫出買賣標籤、價位與趨勢工具。標籤要先用逐根重播檢查是否重繪,再寫成明文規則,並在含成本、規則從未見過的資料上檢驗,才有參考價值。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. LuxAlgo 指標是什麼?圖表上會畫出哪些東西?
  2. LuxAlgo 免費版夠用嗎?
  3. LuxAlgo 會重繪嗎?如何檢查訊號顯示有沒有事後諸葛的成分
  4. 怎麼把 LuxAlgo 訊號寫成進場與出場規則?
  5. LuxAlgo 訊號準確嗎?用成本與樣本外資料檢驗
  6. LuxAlgo 好用嗎?訊號截圖無法告訴你的四件事
  7. 常見問題
  8. 參考文獻

LuxAlgo 指標是什麼?圖表上會畫出哪些東西?

LuxAlgo 指標是一組 TradingView 腳本,依常見的指標概念,在圖表上畫出買賣標籤、支撐與壓力價位和趨勢工具。凡是在尚未收完的 K 棒上作畫的腳本,都可能重繪。所以先用逐根重播檢查,再把每個訊號寫成明文規則,計入成本,在保留期(樣本外)資料上檢驗。

LuxAlgo 為 TradingView 圖表平台發布指標腳本。部分是任何人都能加到圖表上的免費公開腳本,其餘是需要訂閱的付費腳本。不論價格,這些腳本在 K 線圖上疊加的內容分為四類:

  • 買賣標籤。由趨勢與動能條件產生,和移動平均線穿越價格、或震盪指標離開極端區,屬於同一類概念。
  • 支撐與壓力價位。依近期的波段高點與波段低點,也就是價格轉折的位置,畫出的線。
  • 趨勢工具。以移動平均線建構的線條或彩色色帶,隨平滑後價格的方向變色。
  • 警示。上述任一條件成立時發出的通知。

這些都不需要圖表以外的資料。這與指數期貨的市場廣度指標不同,後者需要第二組上漲與下跌家數的資料序列。標籤所依據的一切,都已在你看到的 K 棒開盤價、最高價、最低價與收盤價裡,這也是訊號能在舊價格上重播的原因。震盪指標的部分,與隨機指標及其 %K、%D 線用的是同一種概念:衡量收盤價落在近期區間的哪個位置。這些組成元素哪些能寫成檢驗、哪些只是裝飾圖表,在可檢驗的技術分析工具指南中有整理。

四種圖表疊加內容與各自的組成:訊號標籤來自趨勢與動能條件,價位來自波段高點與低點,趨勢線來自移動平均線,警示則在條件成立時發出 四種疊加,常見概念 各自的組成 訊號標籤 趨勢 + 動能 價位 波段高低點 趨勢線 移動平均線 警示 條件成立
四種疊加內容,以及各自背後的常見組成。呈現方式是新的;底下的概念,則是每個指標庫早已有的。

LuxAlgo 免費版夠用嗎?

免費腳本足以逐根研究每個訊號的行為,因為訊號有沒有用,取決的不是免費或付費。決定因素是:訊號能否寫成規則,並在扣除手續費與滑價後,在舊價格上重播。免費腳本會顯示標籤落在哪裡,也讓你觀察標籤在 K 棒形成過程中如何出現與消失。接下來兩節的兩項檢查,這些就夠了。付費腳本在訂閱之下多了更多工具與警示選項,但仍屬顯示層,而顯示層無法替自己評分。

下表分列各來源提供的內容。最後三列是交易人投入資金前真正需要的,而這三項都不來自圖表疊加內容,不論免費或付費。

你得到什麼免費腳本付費腳本自己做的回測
圖表上的訊號標籤有有有,以記錄下來的進場呈現
支撐與壓力價位有有只有寫成規則才有
警示有有不需要
寫明的進場與出場規則無無有
計入手續費與滑價無無有
在規則從未見過的資料上的結果無無有
免費與付費腳本都提供訊號標籤,但只有你自己的回測才有寫明的出場規則、計入的成本,以及在未見過資料上的結果 只有回測能評分 各來源提供的內容 免費 付費 回測 訊號標籤 出場規則 計入成本 未見資料 圖表只停在顯示層。 所以:寫成規則並檢驗。
免費與付費腳本都止於顯示層。決定訊號能否交易的三列,只有你自己的回測才填得上。

所以,「免費版夠不夠用」的實際答案是:夠用,足以做最重要的那件事:把訊號研究到能寫下來。選一個免費腳本、一個商品與一種 K 棒週期,花一小時觀察標籤的行為,之後再考慮任何花費。

LuxAlgo 會重繪嗎?如何檢查訊號顯示有沒有事後諸葛的成分

凡是在 K 棒收盤前畫出,或在後續 K 棒出現後移動的訊號,都帶有事後諸葛的成分,逐根重播就是檢查某個腳本是否如此的方法。重繪是指圖表訊號在後續 K 棒出現後改變、移動或消失,使你事後看到的圖表,不是當時會看到的圖表。重繪的標籤在截圖裡看起來準確,因為判斷錯誤的標籤都已被擦掉。

事後諸葛的成分,通常以三種方式混進顯示裡:

  1. 在形成中的 K 棒上作畫。K 棒未收盤時,最高價、最低價與收盤價持續變動。10:15 成立的條件,到收盤時可能不成立。腳本若條件一成立就畫,你看到的標籤可能撐不過收盤。
  2. 在較大 K 棒週期的數值尚未定案時就使用。小時圖上讀取的日線數值,要到當天結束才確定。腳本若在盤中就用上當天收盤後才有的日線值,等於知道了當天的未來。
  3. 在平滑後的 K 棒上作畫。平均 K 棒(Heikin Ashi)上的訊號,落在平均後的價格,而不是實際成交過的價格。它所暗示的任何成交,都必須對照下一根 K 棒的真實開盤價檢查。

重播檢查約需一小時,無需撰寫程式。TradingView 有重播模式,可讓圖表一次前進一根 K 棒。

  1. 把腳本放在圖表上,從約 100 根 K 棒之前開啟重播模式,並記下 K 棒週期。
  2. 一次前進一根 K 棒。每當形成中的 K 棒出現標籤,記下 K 棒編號與標籤類型。
  3. 再往前走兩、三根 K 棒。檢查標籤是仍在原位、已經移動,還是消失。
  4. 計數。好結果是,例如記下的 30 個標籤中,沒有任何一個移動或消失。壞結果是標籤主要在本來會虧損的 K 棒上消失。
同樣的 K 棒在兩個時間點:第 3 根 K 棒仍在形成時出現買進標籤,收盤後該標籤消失,新標籤出現在第 5 根 K 棒 標籤可能消失 同樣的 K 棒,兩個時間點 第 3 根形成中 收盤後 買進 消失 新 只有收盤後的標籤算數。 所以:逐根重播並比對。
形成中 K 棒上看到的標籤,和收盤後留下的標籤,可能是不同的標籤。只有後者才可能被交易。

重繪是更廣泛的問題中的一種,該問題詳見回測中的前視偏誤與一根 K 棒檢查法:規則知道了當時不可能知道的事。兩者的解法相同:所有條件只在已收盤的 K 棒上評估,並在下一根 K 棒行動。

怎麼把 LuxAlgo 訊號寫成進場與出場規則?

圖表標籤只是顯示層;寫成在收盤時評估的簡單條件,再加上固定出場、下一根 K 棒成交與成本,就成為可檢驗的策略。下一根 K 棒成交的規則是:在某根 K 棒收盤時讀到的訊號,於下一根 K 棒的開盤成交,絕不在讀到訊號的那個收盤價成交。少了這些,你只有一張箭頭落點的圖;加上之後,你有一份交易明細,每筆都有記錄下來的進場、出場與淨損益。

步驟依序如下:

  1. 把訊號寫成收盤時的條件。一句話,只用收盤時已知的數值。例如:「收盤價高於 20 根 K 棒的移動平均線,且震盪指標在這根 K 棒離開下方區間。」寫不出這句話,就無法檢驗這個標籤。
  2. 加上固定的出場規則。標籤告訴你何時進場,卻極少交代何時離場。選定一種出場並維持不變:反向標籤、固定的 K 棒根數,或以跳動點計的固定停損與停利。
  3. 設定手續費、滑價與下一根 K 棒成交。用你的期貨商手續費;流動性好的期貨,每邊至少計一個跳動點的滑價。
  4. 依日期切分歷史資料,一段用來選擇設定,較晚的一段留著評判。下一節說明切分方式並展示一份報表。
  5. 在較晚的一段,讀扣除成本後的平均每筆損益,並一併看交易筆數與回撤。
從圖表標籤到被評判的規則,共五步:圖表只提供第 1 步,也就是收盤時的規則;出場、成本、日期切分與讀取結果由你補上,第 5 步之後的任何改動都算新的候選策略 標籤只是五步中的一步 從圖表標籤到被評判的規則 圖表 你要補上 1 規則 2 出場 3 成本 4 切分 5 讀取 新候選策略 標籤只是第一步。 所以:任何改動都算新候選策略。
圖表標籤只填了第一格。其餘四格才是把圖片變成被評判規則的內容,第 5 步之後的改動會開始一個新的候選策略。

假設性範例

假設一個買進標籤條件,寫成收盤時的規則並以反向標籤出場,在某個指數期貨商品六年的日 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%
沿著權益曲線越過樣本外標記,比較標記兩側的回撤區帶。這條曲線已扣除手續費與滑價,所以呈現的是交易,不是箭頭。
沿著權益曲線越過樣本外標記,比較標記兩側的回撤區帶。這條曲線已扣除手續費與滑價,所以呈現的是交易,不是箭頭。 ES · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

這份報表中有三件事,值得用讀自己報表的方式來讀。第一,所示的候選策略,是搜尋在試過的 1,024 個之中保留下來的那一個,依報酬對回撤的表現選出。事後挑出留下的那個,會讓它的樣本內數字好看:1,024 個變體之中,光靠機率就有一些會在調整用的期間看起來不錯。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,同一段歷史上比較的變體越多,即使沒有一個真正具備優勢,最佳的那個也會越好看。保留下來的候選策略並沒有以任何讀者可預期的意義「賺到」$115,662.5;它只是一條規則在一段過去期間、經過一次挑選後的記錄結果。第二,在市場時間 93.01%,表示規則幾乎一直持有部位,不是多就是空,因為它沒有停損,每次穿越就反手。只在穿越處畫箭頭的訊號套件,會隱藏這一點。第三,六年半 65 筆交易是小樣本,所以只要換掉幾筆交易,平均每筆損益 $1,779.42 就可能大幅變動。

示意圖:一排灰色小卡片代表試過的一千多個候選策略。其中一張被抽出,是事後保留下來的那一個;它身後的那一排,是截圖永遠不會顯示的。 留下一個,出自逾一千個 事後挑出 留下的那個 逾一千個試過,從未顯示 挑選讓留下的那個看起來更好。 所以:用未見過的資料評判。
你讀到的報表,是從 1,024 張卡片中抽出的一張。那一排卡片是截圖永遠不會顯示的,也是樣本內數字被美化的原因。

這就是為什麼權益曲線圖上標出的樣本外那一段,才是要看的部分。樣本內那一段用來挑出那張卡片;只有較晚的一段才能評判它。Sullivan、Timmermann 與 White(1999)在長期股票歷史上測試了數千條技術交易規則,發現把試過的規則數量納入考量後,最佳規則的記錄大幅縮水。Harvey 與 Liu(2015)建議,任何回測結果都應依其背後的檢驗次數打折。對你自己的 LuxAlgo 式規則,做法單純:在較早的一段固定設定,在較晚的一段只跑一次,並在那裡讀扣除成本後的平均每筆損益。

LuxAlgo 好用嗎?訊號截圖無法告訴你的四件事

LuxAlgo 好不好用,要看你自己的檢驗記錄,而不是圖表,因為訊號截圖看不到的四件事,正是區分圖片與證據的關鍵。每一種訊號套件都是如此,不論是 LuxAlgo 或其他。標著買賣箭頭的一段價格截圖,無法回答下列問題;自己回測得到的交易明細,四個問題都能回答。

未解的問題截圖為什麼答不了答案在哪裡
我會用什麼樣的出場?箭頭只標示進場;出場由下一個箭頭暗示,或根本不顯示交易明細中的固定出場欄
每筆交易讓我付出多少成本?箭頭不用錢;期貨的一買一賣要錢手續費與滑價欄
規則在從未見過的資料上表現如何?每張截圖都是回頭看一段已經知道的行情樣本外分隔線右側的交易
在這一個之前,試過多少變體?截圖只顯示一組設定;產生它的搜尋看不見你自己的候選策略記錄,於執行前寫下
同一段價格的兩種呈現方式:只標示進場的買賣箭頭,以及用固定出場、已付成本、樣本外交易與嘗試次數,回答四個未解問題的交易記錄 箭頭或交易記錄 同一段,兩種呈現 只有箭頭 只有進場 交易記錄 固定出場 已付成本 樣本外交易 已計嘗試次數 箭頭顯示進場,不顯示結果。 所以:保留完整交易記錄。
同一段 ES 日 K 棒呈現兩次:一次是箭頭,一次是交易記錄。出場欄、成本欄、樣本外分隔線與候選策略數量,回答了箭頭沒有回答的四個問題。

這些都不需要訂閱或程式碼。需要的是寫下一個條件、選定一種出場、計入實際成本,並讓較晚的一段資料保持不動。好的檢驗記錄,樣本外平均每筆損益為正,且是一買一賣成本的數倍,並來自足夠多的交易,使少數幾筆無法翻轉正負號。壞的記錄,是陡峭的樣本內曲線配上持平或下滑的樣本外段,或是滑價加倍後結果就消失。

下一步:拿一個免費腳本,把它的買進條件寫成只用已收盤 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.