Strategy Quant X 內建指標 : SRPercRank (支撐阻力百分位排名)

SRPercRank (支撐阻力百分位排名) 指標詳解

SRPercRank (支撐阻力百分位排名) 指標詳解

一、SRPercRank (支撐阻力百分位排名) 指標概述

SRPercRank,全稱為 Support Resistance Percent Rank (支撐阻力百分位排名),是一種旨在幫助交易者識別潛在的支撐與阻力 (S/R) 水平或可能的突破區域的技術指標 。它通過計算一個百分比排名來實現這一目的,該排名表示在過去一段指定的回顧期內,當前市場的收盤價有多頻繁地落在歷史K線的價格範圍之內(這個範圍可以是K線的實際最高價和最低價,也可以是根據平均真實波幅ATR進行擴展後的範圍)。

在SQX程式碼中,SRPercRank 指標被定義為一個 BuildingBlock,名稱為 (SRPC) SRPercRank 。其附帶的幫助文本也明確指出:「SRPercRank 幫助您識別支撐/阻力水平。該指標也能夠幫助您識別突破區域。」

二、SRPercRank 指標的組成部分與參數

該 SRPercRank 指標主要輸出一個數據序列,即 SRPercRank 線,其計算依賴於以下核心參數:

主要輸出 (Output):

  • Value (SRPercRank 線): 這是一條在0到100之間震盪的曲線 。它代表了當前收盤價在過去 Length 個週期內,有多大比例的時間是處於歷史K線的特定價格區間(根據所選 Mode 定義)之內的 。

核心參數 (Parameters):

  • Chart (圖表數據): 指標計算所基於的輸入價格數據 。
  • Mode (計算模式): 此參數允許用戶選擇指標判斷當前價格是否在歷史K線區間內的邏輯 。SQX程式碼中提供了兩種模式:
    • Basic Mode=1 (基礎模式): 在此模式下,指標會判斷當前收盤價是否落在過去每一根歷史K線的實際最高價與最低價之間 。
    • ATR Mode=2 (ATR模式): 這是SQX程式碼中的預設模式 。在此模式下,指標會判斷當前收盤價是否落在過去每一根歷史K線的最高價與最低價上下各擴展一定ATR(平均真實波幅)值的範圍之內 。
  • Length (回顧長度): 用於計算百分位排名的回顧期K線數量。這個參數定義了指標參考多少根過去的K線來進行統計 。在SQX程式碼中,預設值為120 。
  • ATRPeriod (ATR週期): 此參數僅在 Mode 設定為ATR模式時有效,用於計算平均真實波幅(ATR)的週期 。在SQX程式碼中,預設值為12 。

運作機制簡述:

  • 指標首先會回顧過去 Length 根K線的數據(要求當前K線數至少為 Length+1 才能開始計算 )。
  • 對於這 Length 根歷史K線中的每一根,指標會根據所選的 Mode 來判斷當前的收盤價 (Chart.Close.get(0)) 是否「落在」該歷史K線的特定價格區間內:
    • 在基礎模式下,判斷條件是:當前收盤價 > 歷史K線i的最低價 AND 當前收盤價 < 歷史K線i的最高價 。
    • 在ATR模式下,首先會計算出基於 ATRPeriod 的ATR值。然後判斷條件是:當前收盤價 > (歷史K線i的最低價 - ATR值) AND 當前收盤價 < (歷史K線i的最高價 + ATR值) 。
  • 指標會統計在過去 Length 根歷史K線中,有多少次當前收盤價滿足了上述條件,得到一個計數 (count) 。
  • 最終的 SRPercRank 值 (percrank) 通過以下公式計算得出:percrank = (count / Length) * 100 。這個結果就是輸出到 Value 線上的值 。

三、SRPercRank 指標的數值範圍 (有界性)

SRPercRank 是一個有界的震盪指標 。

其計算結果被設計並嚴格標準化在 0 到 100 之間 。0表示在過去 Length 週期內,當前收盤價從未落在任何歷史K線的(擴展)範圍內;100表示當前收盤價在每一個歷史K線的(擴展)範圍內都出現了。這一點在SQX程式碼中的 @Indicator 註解得到了確認 (oscillator=true, min=0, max=100, step=0.1) 。

中值 (Middle Value):

50 是此指標的理論中值 (middleValue=50) ,可以被視為一個參考平衡點。

四、SRPercRank 指標的解讀與應用 (一般概念)

SRPercRank 指標提供了一種獨特的視角來分析價格行為和潛在的關鍵區域:

衡量價格的「擁擠度」或「共識區域」:

  • 高SRPercRank值 (例如 > 70-80): 表示當前收盤價在過去 Length 個回顧週期內,非常頻繁地出現在歷史K線的價格範圍(或ATR擴展範圍)之內。這可能暗示當前價格所處的區域是一個歷史上的密集成交區、潛在的強支撐/阻力區,或者是市場參與者達成「共識價值」的區域。當價格運行到這些高SRPercRank值的區域時,可能會遇到較大的阻力或獲得較強的支撐。
  • 低SRPercRank值 (例如 < 20-30): 表示當前收盤價在過去 Length 個回顧週期內,較少或從未出現在歷史K線的價格範圍之內。這可能暗示當前價格正處於一個相對「空曠」或「清晰」的區域,遠離了近期的主要盤整區或交易活躍區。這種情況可能發生在趨勢行情中價格持續向新領域推進,或者在突破關鍵的歷史水平後進入了新的價格空間。

識別潛在的支撐與阻力水平:

圖表上那些使得SRPercRank指標持續產生高讀數的價格區域,可以被重點關注,因為它們可能代表了市場記憶中的重要支撐或阻力帶。當價格未來再次接近這些高密度區域時,交易者應留意價格的反應。

輔助判斷突破的有效性與潛在空間:

  • 如果價格向上或向下突破某個重要技術水平(如前期高低點、趨勢線等)後,SRPercRank值隨之迅速下降,這可能表明價格進入了一個歷史交易密度較低的「真空」區域,有時這可以被視為對突破持續性的一種正面信號,因為前方遇到的直接歷史阻礙較少。
  • 相反,如果價格突破後,SRPercRank值依然很高,或者迅速回升至高位,這可能暗示突破面臨著較強的歷史成交壓力,或者價格很快又回到了原有的盤整區域,突破的有效性可能需要進一步觀察。

模式選擇 (Mode) 的影響:

  • 基礎模式 (Mode 1): 這種模式更嚴格地基於歷史K線的實際最高價和最低價進行判斷 。因此,高SRPercRank值更直接地指示了當前價格處於歷史K線實體或影線的重疊區域。
  • ATR模式 (Mode 2): 這種模式引入了平均真實波幅 (ATR) 作為波動性的考量,將歷史K線的判斷範圍進行了上下擴展 。這使得指標對於市場的正常日內或短期波動更具有一定的容忍性。在此模式下,高SRPercRank值表明價格處於一個考慮了近期市場波動性的「擴展共識區」。ATR模式可能在波動性較大的市場中提供更為平滑或更具代表性的結果。

參數 LengthATRPeriod 的影響:

  • Length: 決定了回顧期的長短。較長的 Length 會使指標計算基於更廣泛的歷史數據,更能反映長期的價格共識區域,指標線相對平滑。較短的 Length 則對近期的價格行為和共識區域更為敏感。
  • ATRPeriod: (僅在ATR模式下生效)影響ATR值的計算,從而直接影響歷史K線判斷範圍的擴展幅度。較大的 ATRPeriod 通常產生較平滑的ATR值。

與其他指標的結合應用:

SRPercRank 可以與趨勢指標(如移動平均線)、動量指標(如RSI、MACD)或價格形態分析結合使用,以提供更全面的市場分析視角。例如,在一個已確認的上升趨勢中,如果價格回調至一個SRPercRank值較高的區域(潛在支撐區)並出現看漲的價格行為或動量信號,這可能構成一個較好的買入機會。

總結來說,SRPercRank 是一個旨在通過量化當前價格在歷史價格區間內出現頻率來識別潛在支撐/阻力區域和突破可能性的指標。理解其不同模式的計算差異以及核心參數的影響,有助於交易者更好地將其應用於自己的市場分析和交易決策中。

精選文章

GEPT 初級單字:狀態與變動分類