Pine script 一次设置2个系列

Pine script 一次设置2个系列,pine-script,Pine Script,我试图在2个系列中同时设置高点和低点,但似乎无法正确执行代码。 它应在指定日期的每个日内条形图上绘制输入的高值和低值。 该代码设计用于ticker SPX //@version=4 study("SPX 5", overlay=true) // === FUNCTIONS === isDate(y,m,d) => year==y and month==m and dayofmonth==d float lo = na float hi = na drawHiLo(y,m,d,l,h

我试图在2个系列中同时设置高点和低点,但似乎无法正确执行代码。
它应在指定日期的每个日内条形图上绘制输入的高值和低值。
该代码设计用于ticker SPX

//@version=4
study("SPX 5", overlay=true)

// === FUNCTIONS === 
isDate(y,m,d) => year==y and month==m and dayofmonth==d

float lo = na
float hi = na

drawHiLo(y,m,d,l,h) => 
    float ret1 = na
    float ret2 = na
    if isDate(y,m,d) and timeframe.isintraday
        ret1 := l
        ret2 := h 
    else
        ret1 = lo[1]
        ret2 = hi[1]
    [ret1,ret2]

// === MAIN ===
[lo,hi] = drawHiLo(2020,04,13,2700,2770)
[lo,hi] = drawHiLo(2020,04,14,2800,2860)

plot(lo, style=plot.style_circles, color=color.lime)
plot(hi, style=plot.style_circles, color=color.lime)
上面的脚本给出了以下错误:
第22行:“lo”已定义。

我尝试过几种不同的方法,但似乎都不管用。

有人知道如何实现这一点吗?

您现在可以通过脚本的输入更改值。在代码中添加了一些注释。如果不清楚发生了什么,请随时询问:

//@version=4
study("SPX 5", overlay=true)
// Get values through Inputs.
spHi1 = input(2770)
spLo1 = input(2700)
spHi2 = input(2860)
spLo2 = input(2800)

// === FUNCTIONS === 
isDate(y,m,d) => year==y and month==m and dayofmonth==d

drawHiLo(y,m,d,l,h) => 
    // Vars are initialized to na, so we only need to assign them a value when our conditions becomes true.
    float ret1 = na
    float ret2 = na
    if isDate(y,m,d) and timeframe.isintraday
        ret1 := l
        ret2 := h 
    [ret1, ret2]

// === MAIN ===
// Make 2 separate call to function, but need to store results in different variables for each call.
[lo1,hi1] = drawHiLo(2020,04,13,spLo1,spHi1)
[lo2,hi2] = drawHiLo(2020,04,14,spLo2,spHi2)

plot(hi1, style=plot.style_circles, color=color.lime)
plot(lo1, style=plot.style_circles, color=color.lime)
plot(hi2, style=plot.style_circles, color=color.green)
plot(lo2, style=plot.style_circles, color=color.green)

很好的功能概念,顺便说一句。祝贺您。

谢谢您的回复。不幸的是,我不认为这将为我所需要的工作。我在每个交易日都会输入这样的数据。因此,我真正想要的是一种使用函数的方法,该函数每天更新相同的
lo
hi
集。我试图在脚本的末尾只有两个plot命令。一个绘图用于
lo
和一个绘图用于
hi
),这是另一个问题。如果这是你需要的,你应该在你的问题中说清楚。看,如果我的问题不清楚,很抱歉。你提到的帖子是我之前的问题,它满足了我的要求,但只针对1个变量。我想这不可能一次为2个
var
变量完成。似乎有点奇怪,您可以从一个函数返回2个值,并使用
=
将它们分配给
[lo,hi]
,但如果
lo
hi
声明为
var
,则无法使用
分配它们。