微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在松树编辑器中查找时间范围的最高和最低值

如何解决在松树编辑器中查找时间范围的最高和最低值

作为一个绝对新的初学者,我正在试验 Tradingview 的 pine 编辑器。 我写了一个简单的脚本来绘制 ema 和 dema 之间的区别。此外,我想获得所选时间范围内的最高值和最低值。

假设在 600 万个时间范围内,一只股票的最高收盘价为 120.3 美元,最低收盘价为 49.41 美元。我想绘制这两条水平线,代表特定时间范围内的历史最高点和历史最低点。

//@version=4
study(title="Test")

biggest(series) =>
    max = 0.0
    max := nz(max[1],series)
    if series > max
        max := series
    max

smallest(series) =>
    min = 0.0
    min := nz(min[1],series)
    if series < min
        min := series
    min

fast = 14,slow = 50

length = input(fast,minval=1)
src = input(close,title="Source")
e1 = ema(src,length)
e2 = ema(e1,length)
dema = 2 * e1 - e2

band4 = hline(0,"Upper Band",color=#ff0000)

fastemA = ema(close,fast)
slowEMA = ema(close,slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.white)

解决方法

//@version=4
study(title="Help (Test)")

biggest(series) =>
    max = 0.0
    max := nz(max[1],series)
    if series > max
        max := series
    max

smallest(series) =>
    min = 0.0
    min := nz(min[1],series)
    if series < min
        min := series
    min

fast = 14,slow = 50

length = input(fast,minval=1)
src = input(close,title="Source")
e1 = ema(src,length)
e2 = ema(e1,length)
dema = 2 * e1 - e2

band4 = hline(0,"Upper Band",color=#ff0000)

fastEMA = ema(close,fast)
slowEMA = ema(close,slow)
test = (dema - slowEMA)//(high1-low1)
plot(test,color=color.black)

//[ADDON]
period = input("6M","Period hi/lo detect",input.resolution) //  Six Months

var hi = 0.0
var lo = 10e10
var br = 0
var lnhi = line.new(na,na,na)
var lnlo = line.new(na,na)

if change(time(period))
    hi := test
    lo := test
    br := bar_index
    lnhi := line.new(br,hi,br,color=color.red,width=2)
    lnlo := line.new(br,lo,color=color.green,width=2)
    float(na)
else
    hi := max(test,hi)
    lo := min(test,lo)

line.set_xy1(lnhi,hi)
line.set_xy2(lnhi,bar_index,hi)
line.set_xy1(lnlo,lo)
line.set_xy2(lnlo,lo)

您的图 test 具有六个月时间范围内的绝对最高值和最低值。 enter image description here

,

您可以使用 highest()lowest() 函数。

因此,使用您的示例,您可以按如下方式添加最高和最低频段:

//@version=4
study(title="Test")

hiloperiod = 200 // track highest/lowest of the last 200 periods
fast = 14,color=color.white)

// Plot the highest and lowest values for the last hilo period.
hi=highest(hiloperiod)
lo=lowest(hiloperiod)
plot(hi,linewidth=2)
plot(lo,linewidth=2)

例如在比特币价格上使用它会产生此图。请注意绿线如何移动以代表该时间范围内的最高和最低价格

bitcoin price with high and low tracking

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。