FlexRenko 磚塊:偏移量改變了什麼,以及回測在哪裡漏看未來
FlexRenko 是多了兩個設定的 Renko:趨勢偏移會改變延續磚塊的起點,反轉偏移則讓反轉磚塊與前一塊重疊,使方向更早翻轉。這段重疊正是 FlexRenko 回測漏看未來的地方:反轉磚塊的開盤價,落在反轉被得知之前就已成交的價位上。AlphaPrime 會在底層 K 棒收盤時確認每一塊磚,以下一個真實價格成交並將滑價加倍,停損則以真實的最高價與最低價判定。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是 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 如何回測 FlexRenko 策略?
策略讀取的是磚塊、它們的方向與數量。成交、停損與停利則來自底層的真實 K 棒。逐條規則如下:
- 每一塊磚都在完成它的底層 K 棒收盤時確認。原因:在那次收盤之前,這塊磚仍可能無法完成。避免的問題:交易了之後又被抹掉的磚塊。
- 市價單成交在訊號之後那根底層 K 棒的開盤價,另加滑價。原因:訊號之後第一個可取得的價格才是真實的。避免的問題:在磚塊的開盤或收盤價成交,包括重疊的反轉開盤價。
- 停損與停利以底層 K 棒的最高價與最低價判定,停損優先。原因:磚塊不含影線,而重疊又隱藏了更多真實的價格路徑。避免的問題:圖表上看不到的停損觸發。
- 跳空隱含的磚塊會一次出現;缺口之內不成交。原因:缺口之內沒有任何成交。避免的問題:在不存在的價格進場。
- 滑價從時間 K 棒數字的兩倍起算。原因:磚塊完成的時刻,正是市場移動最快的時候。避免的問題:用平均價差來定價一波急行情。
套用這些規則後,FlexRenko 策略仍保有其規則本身賺到的部分,但會失去它在每次反轉中原本能拿到的偏移量。原本靠快速反轉獲利的策略,大多會損失掉大部分優勢。若策略是利用偏移量提早出場、並且以真實價格成交,它通常還會保留一點較小但值得擁有的優勢。至於如何權衡額外的成本與平均每筆損益,請見手續費、滑價與平均每筆損益一頁。
回測 FlexRenko 時該如何選擇設定?
先選磚塊大小,依循與經典 Renko 相同的規則:要大於滑價假設的好幾倍,並且大到底層 K 棒能夠分辨它。接著再依你想要的行為設定偏移量,而不是依權益曲線來設定。
- 磚塊大小:在一般交易日,要花上數根底層 K 棒才能形成的大小。另外測試一半大小作為對照;若結果崩塌,代表優勢其實來自平滑效果。
- 反轉偏移量:設為零就是經典 Renko;設為磚塊大小的一半是常見的折衷;接近磚塊大小則會把圖表變成一磚反轉的圖,持續來回洗盤。選定一個,固定下來,並接受隨之而來的洗盤頻率。
- 趨勢偏移量:通常很小或為零。它會平滑延續走勢,並增加一點延遲;設定過大會讓趨勢看起來比實際乾淨。
有兩種變體值得一提。以平均真實波幅(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 能用在外匯與加密貨幣上嗎?
可以,磚塊大小以點數或價格單位設定,規則相同。加密貨幣的劇烈波動會讓磚塊與反轉成群地完成,因此在相信該市場的結果之前,請以高於雙倍起始值的滑價進行測試。

