VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / AlphaPrime 怎麼算

FlexRenko 磚塊:偏移量改變了什麼,以及回測在哪裡漏看未來

FlexRenko 是多了兩個設定的 Renko:趨勢偏移會改變延續磚塊的起點,反轉偏移則讓反轉磚塊與前一塊重疊,使方向更早翻轉。這段重疊正是 FlexRenko 回測漏看未來的地方:反轉磚塊的開盤價,落在反轉被得知之前就已成交的價位上。AlphaPrime 會在底層 K 棒收盤時確認每一塊磚,以下一個真實價格成交並將滑價加倍,停損則以真實的最高價與最低價判定。

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

目錄
  1. 什麼是 FlexRenko?為什麼它的回測比經典 Renko 更容易漏看未來?
  2. FlexRenko 磚塊如何建構?兩個偏移量實際改變了什麼?
  3. FlexRenko 回測在哪裡看見了未來?
  4. 反轉磚塊的開盤價屬於過去
  5. 偏移量是根據結果調出來的
  6. Renko 繼承下來的漏洞
  7. AlphaPrime 如何回測 FlexRenko 策略?
  8. 回測 FlexRenko 時該如何選擇設定?
  9. 哪些市場與策略適合 FlexRenko?
  10. 常見問題

什麼是 FlexRenko?為什麼它的回測比經典 Renko 更容易漏看未來?

FlexRenko 是一種有兩個偏移量的 Renko 圖:趨勢偏移決定延續磚塊要從前一塊磚內的哪個位置開始,反轉偏移則讓反轉磚塊與前一塊磚重疊。重疊讓方向轉折提早出現,但也把反轉磚塊的開盤價放在一個「還沒有人知道會反轉」時就已經成交過的價位上。

經典 Renko 每一塊磚都從前一塊磚的最高價或最低價開始畫,而反轉需要兩個完整磚塊大小的走勢。FlexRenko 保留磚塊大小,另外加上趨勢偏移與反轉偏移,兩者都以價格計算、從前一塊磚的邊緣起算,而且都小於磚塊大小。兩個偏移量都設為零時,FlexRenko 就是經典 Renko。若反轉偏移設為磚塊大小的一半,反轉磚塊就會從前一塊磚的一半處開始,所以圖形只要走過一倍半的磚塊大小就會翻轉,而不是兩倍。交易者使用它,是想讓 Renko 更快反應轉折,又不必縮小磚塊。Renko 圖回測一頁說明了 FlexRenko 繼承下來的磚塊建構漏洞;本頁則說明這些偏移量額外帶來的問題。所有合成圖表類型共用的規則,請見為何合成 K 棒回測會作弊的總覽。

FlexRenko 磚塊如何建構?兩個偏移量實際改變了什麼?

延續磚塊從前一塊磚的收盤價往回平移趨勢偏移量開始,當價格從該起點走出一個磚塊大小時完成。反轉磚塊則從前一塊磚內部開始,位置是其邊緣往回平移反轉偏移量,當價格從該點朝前一方向走出一個磚塊大小時完成。

趨勢偏移會讓延續磚塊稍微重疊,使趨勢更平滑,也會讓每一塊延續磚略為延遲。反轉偏移則是改變最大的設定。沒有偏移時,價格必須回檔一整塊磚才能回到前一塊磚的範圍之內,再多走一塊才能畫出反轉磚,也就是價格要逆勢走過兩個磚塊大小。反轉偏移接近磚塊大小時,反轉磚幾乎與前一塊重疊,只要回檔略超過一個磚塊大小就會畫出反轉。圖表轉折變快,來回洗盤也變多,而且每一塊反轉磚的開盤價,都落在前一塊磚期間曾經出現過的價位上。

AlphaPrime(Valynox)會從你選擇的底層時間 K 棒建構 FlexRenko 磚塊,並且在完成該磚的底層 K 棒收盤時,確認每一塊磚,無論是延續或反轉。磚塊畫出來的開盤價與收盤價,只是策略可以讀取的價位,不會被當作成交價。設定名稱與圖表平台上的一致,即 Box Size、Trend Offset 與 Reversal Offset,方便你直接對照;面板也會顯示實際的反轉距離(磚塊大小的兩倍減去反轉偏移量),讓你看清楚自己設定了什麼。Renko 的假磚塊與影線選項同樣適用於 FlexRenko,而一分鐘內高低點順序不明的規則也一樣:引擎會先採用與上一塊磚方向相反的那個順序。

假設性範例

磚塊大小 10,反轉偏移 5。一塊上升磚從 100 畫到 110。價格下跌。經典 Renko 的反轉要等到 90 才會出現;FlexRenko 則是價格一到 95,就立即畫出從 105 到 95 的下降磚。若回測在反轉磚的開盤價 105 賣出,等於是在上升磚還在形成時、一個已經成交過的價格上放空。AlphaPrime 會在價格到達 95 的那根底層 K 棒收盤時確認反轉磚,並以下一個真實價格成交,約為 95 或更低,再加上滑價。圖上那十點的反轉優勢,從來不曾真正存在。

FlexRenko 回測在哪裡看見了未來?

經典 Renko 會犯的地方它都會犯,另外還有一處是它獨有的:反轉磚塊的開盤價。

反轉磚塊的開盤價屬於過去

規則:反轉磚塊只會在完成它的那根底層 K 棒收盤時存在,成交價則是下一個真實價格。原因:磚塊的開盤價是前一塊磚內部的一個價位,在反轉被得知之前就已經出現;反轉只有在價格到達新磚塊的收盤價時才會被確定。避免的問題:在重疊區成交,這會讓回測把每次方向轉折中的整段偏移量都當成白送的優勢。

偏移量是根據結果調出來的

規則:磚塊大小與兩個偏移量在測試前就固定,並且在樣本內與樣本外期間保持不變。原因:三個互相影響、又會明顯改變來回次數的參數,很容易調到權益曲線看起來漂亮為止。避免的問題:以圖表設定之名,行擬合測試資料之實。

Renko 繼承下來的漏洞

以磚塊價格成交、不看影線的停損檢查,以及跳空造成的假磚塊,對 FlexRenko 的適用情況與經典 Renko 完全相同。堵住這些漏洞的規則也相同:在底層 K 棒收盤時確認、以下一個真實價格成交,並且當同一根底層 K 棒同時觸及停損與停利時,以停損為先,依底層 K 棒的最高價與最低價判定。

FlexRenko 功能以磚塊價格回測AlphaPrime
帶偏移量的反轉磚塊以磚塊開盤價成交,位於前一塊磚內部在底層 K 棒收盤時確認;以下一個真實價格成交
帶趨勢偏移的延續磚塊以磚塊收盤價成交在底層 K 棒收盤時確認;以下一個真實價格成交,滑價加倍
停損與停利檢查磚塊的開盤與收盤價底層 K 棒的最高與最低價,停損優先
磚塊大小與偏移量常在回測後才調整測試前固定,並套用於所有期間
反轉磚從上一塊磚裡面開始,那是反轉被知道之前就成交過的價位;誠實的成交在磚塊完成之後。
反轉磚從上一塊磚裡面開始,那是反轉被知道之前就成交過的價位;誠實的成交在磚塊完成之後。 AlphaPrime 生成設定 · 線圖類型面板

AlphaPrime 如何回測 FlexRenko 策略?

策略讀取的是磚塊、它們的方向與數量。成交、停損與停利則來自底層的真實 K 棒。逐條規則如下:

  • 每一塊磚都在完成它的底層 K 棒收盤時確認。原因:在那次收盤之前,這塊磚仍可能無法完成。避免的問題:交易了之後又被抹掉的磚塊。
  • 市價單成交在訊號之後那根底層 K 棒的開盤價,另加滑價。原因:訊號之後第一個可取得的價格才是真實的。避免的問題:在磚塊的開盤或收盤價成交,包括重疊的反轉開盤價。
  • 停損與停利以底層 K 棒的最高價與最低價判定,停損優先。原因:磚塊不含影線,而重疊又隱藏了更多真實的價格路徑。避免的問題:圖表上看不到的停損觸發。
  • 跳空隱含的磚塊會一次出現;缺口之內不成交。原因:缺口之內沒有任何成交。避免的問題:在不存在的價格進場。
  • 滑價從時間 K 棒數字的兩倍起算。原因:磚塊完成的時刻,正是市場移動最快的時候。避免的問題:用平均價差來定價一波急行情。

套用這些規則後,FlexRenko 策略仍保有其規則本身賺到的部分,但會失去它在每次反轉中原本能拿到的偏移量。原本靠快速反轉獲利的策略,大多會損失掉大部分優勢。若策略是利用偏移量提早出場、並且以真實價格成交,它通常還會保留一點較小但值得擁有的優勢。至於如何權衡額外的成本與平均每筆損益,請見手續費、滑價與平均每筆損益一頁。

回測 FlexRenko 時該如何選擇設定?

先選磚塊大小,依循與經典 Renko 相同的規則:要大於滑價假設的好幾倍,並且大到底層 K 棒能夠分辨它。接著再依你想要的行為設定偏移量,而不是依權益曲線來設定。

  1. 磚塊大小:在一般交易日,要花上數根底層 K 棒才能形成的大小。另外測試一半大小作為對照;若結果崩塌,代表優勢其實來自平滑效果。
  2. 反轉偏移量:設為零就是經典 Renko;設為磚塊大小的一半是常見的折衷;接近磚塊大小則會把圖表變成一磚反轉的圖,持續來回洗盤。選定一個,固定下來,並接受隨之而來的洗盤頻率。
  3. 趨勢偏移量:通常很小或為零。它會平滑延續走勢,並增加一點延遲;設定過大會讓趨勢看起來比實際乾淨。

有兩種變體值得一提。以平均真實波幅(ATR)決定大小的磚塊會隨波動調整,但 ATR 必須以已完成的 K 棒計算,並且在每塊磚開始時凍結,否則磚塊大小就會「知道」未來。帶影線的磚塊能在圖上顯示磚內的真實路徑,這對看圖有幫助;但 AlphaPrime 的回測並不需要它,因為停損是以底層 K 棒判定,而底層 K 棒本身已包含了那段路徑。若你想要的是大小本身(而不只是偏移量)會隨波動變化的 K 棒,請見 Kase 棒。

哪些市場與策略適合 FlexRenko?

FlexRenko 適合與經典 Renko 相同的市場:活躍時段的流動性指數期貨、主要貨幣對,以及大型加密貨幣。它適合想要 Renko 的趨勢跟隨乾淨度、同時又希望更早出場的交易者。它不適合盤整時段,因為反轉偏移會在每一次小幅震盪時都產生一組成交;也不適合交易清淡的市場,因為單一筆成交價就可能畫出一個反轉。

在相信任何 FlexRenko 結果之前,先把同一規則的反轉偏移設為零再跑一次。若 FlexRenko 版本明顯更好,差異就來自偏移量,而且其中大部分是重疊處的成交價。若兩個版本相近,代表規則本身有效,偏移量只是個人偏好。接著再跑半磚大小的對照組;若結果仍然成立,就進行推進分析。

如果你使用 AlphaPrime,這代表:在策略生成中選擇 FlexRenko 作為圖表類型,設定磚塊大小、趨勢偏移量、反轉偏移量與底層 K 棒週期,然後執行搜尋。每一個候選策略都會以底層收盤確認的磚塊測試、以下一個真實價格成交並將滑價加倍,停損則以真實 K 棒判定;Classic 與 Reserve 的規則相同。你報表中留下的反轉,都是你真正有機會賣出的反轉。

常見問題

Renko 與 FlexRenko 有什麼差別?

經典 Renko 每一塊磚都從前一塊磚的邊緣畫起,反轉需要兩個 K 棒大小的走勢。FlexRenko 加入趨勢偏移與反轉偏移,讓新磚塊在前一塊磚內的起點往回移:延續磚塊會稍微重疊,反轉磚塊則可能大幅重疊。兩個偏移量都為零時,兩種圖表完全相同。

為什麼我的 FlexRenko 策略在 AlphaPrime 的表現比圖表上差很多?

最常見的原因是圖表回測以反轉磚塊的開盤價成交反轉。那個開盤價位於前一塊磚內,是在反轉被得知之前就已成交過的價格。AlphaPrime 則在磚塊完成之後,以下一個真實價格成交。原本回測白送給你的偏移量優勢,就此消失。

我該使用多大的反轉偏移量?

依你想要的出場行為選擇一個,然後固定不變。磚塊大小的一半是合理的中間設定。請與零比較;若你的結果高度依賴偏移量,那結果主要來自重疊處的成交價。

FlexRenko 能用在外匯與加密貨幣上嗎?

可以,磚塊大小以點數或價格單位設定,規則相同。加密貨幣的劇烈波動會讓磚塊與反轉成群地完成,因此在相信該市場的結果之前,請以高於雙倍起始值的滑價進行測試。