如何消除图表中的多个间隙

问题描述 投票:0回答:1

我对价格图表绕过内部柱线得出的结论是,只有当后续价格蜡烛更新前一个价格蜡烛的高点或低点时,才需要显示每个后续价格蜡烛。

主要任务已经解决了,但是现在图表上有空白。

如何消除这些差距?

//@version=5
indicator("True Movement Price")

CandleColor     = close >= open ? color.rgb(0, 188, 212, 0) : color.rgb(0, 96, 100, 0)
WickcolorColor  = close >= open ? color.rgb(0, 188, 212, 0) : color.rgb(0, 96, 100, 0)
BorderColor     = close >= open ? color.rgb(0, 188, 212, 0) : color.rgb(0, 96, 100, 0)

var key = false

var PLow = low
var PHigh = high
var PClose = close
var POpen = open

if high > PHigh or low < PLow
    key := true
    PLow := low
    PHigh := high
    PClose := close
    POpen := open
else
    key := false

plotcandle(key ? POpen : na, key ? PHigh : na, key ? PLow : na, key ? PClose : na, color = CandleColor, bordercolor = BorderColor, wickcolor = WickcolorColor)

plothandle 在 if 构造中不起作用,我不知道如何仅在它不为空且不会产生间隙的真实条件下执行它

pine-script pine-script-v5
1个回答
0
投票

要解决仅在新高或新低上绘制蜡烛时图表中的间隙问题,您可以调整方法以连续跟踪和绘制所有必要的数据点,但仅显示存在真正更新的蜡烛(无论是新的还是新的)高或新低)。出现间隙是因为您当前的脚本在不满足条件的时间段内绘制了

na
(不可用),从而有效地将这些时间段留为空白。

这是一个精炼版本:

//@version=5
indicator("True Movement Price", overlay=true)

var float PLow = na
var float PHigh = na
var float PClose = na
var float POpen = na

if (high > PHigh or low < PLow or na(PLow))
    PLow := low
    PHigh := high
    PClose := close
    POpen := open

CandleColor = close >= open ? color.rgb(0, 188, 212) : color.rgb(0, 96, 100)
WickcolorColor = close >= open ? color.rgb(0, 188, 212) : color.rgb(0, 96, 100)
BorderColor = close >= open ? color.rgb(0, 188, 212) : color.rgb(0, 96, 100)

plotcandle(POpen, PHigh, PLow, PClose, color = CandleColor, bordercolor = BorderColor, wickcolor = WickcolorColor)

说明:

  1. 初始化:变量

    PLow
    PHigh
    PClose
    POpen
    初始化为
    na
    ,并且仅在观察到新的高点或低点时更新。这确保蜡烛始终具有一定的价值,并且不会设置为
    na
    ,从而导致缺口。

  2. 条件检查:if 条件检查当前高点是否大于

    PHigh
    ,当前低点是否低于
    PLow
    ,或者
    PLow
    是否为
    na
    (对于第一次运行)。如果为 true,则会更新值。此逻辑确保绘制第一个可用蜡烛图,并且仅在重大更新时绘制后续蜡烛图。

  3. 绘图函数

    plotcandle
    函数使用最新更新的开盘价、最高价、最低价和收盘价绘制蜡烛图。由于这些变量保留其最后的有效值而不是重置为
    na
    ,因此图表不会有间隙。

© www.soinside.com 2019 - 2024. All rights reserved.