请求开发基于双标的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
相关产品推荐
相关产品推荐

