Thursday, June 25, 2026

tradingFinder TFLab support resistance major/ minor Mark structure 如何实现算法

 实现 TradingFinderTFLab 风格的 自动支撑/阻力 (主要与次要) 及市场结构 (Market Structure) 算法,核心在于通过波动率分形 (Fractals) 以及价格触及频率来量化价格波动。这可以通过 TradingView 的 Pine Script 或 Python 轻松构建。

以下是实现该算法的核心逻辑与分步指南:
一、 核心算法逻辑
1. 识别关键枢轴点 (Fractal Pivots)
算法的第一步是寻找具有局部高点和低点的 K 线。
  • 分形逻辑:一个枢轴高点 (Pivot High) 指的是当前 K 线的最高价高于其左侧 N 根 K 线,且高于其右侧 N 根 K 线。
  • 枢轴低点 (Pivot Low) 逻辑相反。
  • N 值越大,筛选出的枢轴级别越高、越重要。
2. 区分主要与次要级别 (Major / Minor Levels)
  • 次要级别 (Minor):直接由单个分形高/低点生成的支撑与阻力位。这些级别容易被突破。
  • 主要级别 (Major):由多个枢轴点汇聚、共振或经过长期震荡形成的区域。判断方法为:如果当前价格在某特定价格区间(容错率 Tolerance)内多次触及并反弹,该点位的权重增加,升级为主要级别。 [1, 2, 3, 4, 5]
3. 市场结构标记 (Market Structure - BOS / CHoCH)
  • 结构突破 (BOS - Break of Structure):当价格实体收盘价突破前一个主要的枢轴高点(看涨趋势)或低点(看跌趋势)时,确认趋势延续。 [1]
  • 趋势反转 (CHoCH - Change of Character):当价格反向跌破最近的关键回调低点(看涨变看跌)或涨破关键高点时,确认潜在趋势反转。 [1]
二、 Pine Script 实现示例 (TradingView)
以下是一个自动化提取基础枢轴 S/R 级别并标出分形结构的 Pine Script 核心示例代码: [1]
pinescript
//@version=5
indicator("Swing Structure & S/R [Auto]", overlay=true)

// 1. 设置分形周期 (可调)
leftBars = input.int(3, title="Left Bars")
rightBars = input.int(3, title="Right Bars")

// 2. 获取分形枢轴
pH = ta.pivothigh(leftBars, rightBars)
pL = ta.pivotlow(leftBars, rightBars)

// 3. 记录枢轴价格和位置
var float last_pH = na
var float last_pL = na

if not na(pH)
    last_pH := pH
    line.new(bar_index - rightBars, pH, bar_index, pH, color=color.red, width=2)

if not na(pL)
    last_pL := pL
    line.new(bar_index - rightBars, pL, bar_index, pL, color=color.green, width=2)

// 4. 市场结构标记示例 (BOS - 向上突破)
if not na(last_pH) and close > last_pH and close[1] <= last_pH
    label.new(bar_index, high, "BOS", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white)
Use code with caution.

No comments:

Post a Comment