You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求开发基于双标的Real SMT Divergence指标(附fractal代码)

跨标的SMT背离指标开发需求

我想要构建实用的Real SMT Divergence指标,现有TradingView平台上的同类指标效果不佳。我已拥有可实时标记有效高低点的fractal指标代码(同时支持FVG检测),希望为其添加跨标的背离识别功能。

牛背离触发条件

对比两个不同标的(如US500与US100)的低点,满足以下任一情况即触发:

  • 当前图表中一个高点高于下一个低点,对比图表中对应低点低于下一个低点;
  • 当前图表中一个低点低于下一个低点,对比图表中对应低点高于下一个低点。

熊背离触发条件

对比两个不同标的的高点,满足以下任一情况即触发:

  • 当前图表中一个高点低于下一个高点,对比图表中对应高点高于下一个高点;
  • 当前图表中一个高点高于下一个高点,对比图表中对应高点低于下一个高点。

额外功能要求

  • 指标需绘制连线连接符合背离条件的对应高低点;
  • 牛熊背离连线需清晰可区分;
  • 所有对比需基于两个图表的fractal(摆动高低点)。

我无法完成SMT部分的代码开发,恳请协助!


现有fractal指标代码

indicator('Moj FVG i Fractals', overlay = true)

// === FVG Inputs ===
fvg_border_color = input.color(color.yellow, "FVG Border Color")
fvg_bg_color = input.color(color.new(color.yellow, 90), "FVG Bg Color")
fvg_bar_color = input.color(color.yellow, "FVG Bar Color")

// === FVG Logic ===
fvg_up_gap = close[1] > open[1] ? low - high[2] : na
fvg_down_gap = close[1] < open[1] ? low[2] - high : na

fvg_up_box = fvg_up_gap > 0 ? box.new(left = bar_index[2], top = high[2], right = bar_index, bottom = low, border_color = fvg_border_color, bgcolor = fvg_bg_color) : na
fvg_down_box = fvg_down_gap > 0 ? box.new(left = bar_index[2], top = low[2], right = bar_index, bottom = high, border_color = fvg_border_color, bgcolor = fvg_bg_color) : na

// === Bar Colors for FVG ===
barcolor(fvg_up_gap > 0 ? fvg_bar_color : na, offset = -1)
barcolor(fvg_down_gap > 0 ? fvg_bar_color : na, offset = -1)

// === Fractal Inputs ===
showPatterns = input(true, "Show Fractal Patterns")
filterBW = input(false, title="Bill Williams Fractals Filter")

// === Fractal Recognition Functions ===
isRegularFractal(mode) =>
    mode == 1 ? high[4] < high[3] and high[3] < high[2] and high[2] > high[1] and high[1] > high[0] :mode == -1 ? low[4] > low[3] and low[3] > low[2] and low[2] < low[1] and low[1] < low[0] : false

isBWFractal(mode) =>
    mode == 1 ? high[4] < high[2] and high[3] <= high[2] and high[2] >= high[1] and high[2] > high[0] :mode == -1 ? low[4] > low[2] and low[3] >= low[2] and low[2] <= low[1] and low[2] < low[0] : false

filteredtopf = filterBW ? isRegularFractal(1) : isBWFractal(1)
filteredbotf = filterBW ? isRegularFractal(-1) : isBWFractal(-1)

// === Plot Fractals ===
plotshape(filteredtopf, title='Filtered Top Fractals', style=shape.triangledown, location=location.abovebar, color=color.red, offset=-2)
plotshape(filteredbotf, title='Filtered Bottom Fractals', style=shape.triangleup, location=location.belowbar, color=color.green, offset=-2)

内容的提问来源于stack exchange,提问作者Luka Petrovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:41:06