Pine script 使用label.new/line.new会出现阴影错误

Pine script 使用label.new/line.new会出现阴影错误,pine-script,Pine Script,早上好 我得到以下错误: 我不确定是什么导致了这个错误。当我更改操作符时,脚本停止工作。如有任何建议,我们将不胜感激 我不熟悉使用label.new和line.new,因此如果有更好/正确的方法编写下面的脚本,我将非常感谢您的教育 //@version=4 study("Shadowing Variable Error", shorttitle="Error", overlay=true) //Weekly Open wOpen = security

早上好

我得到以下错误:

我不确定是什么导致了这个错误。当我更改操作符时,脚本停止工作。如有任何建议,我们将不胜感激

我不熟悉使用label.new和line.new,因此如果有更好/正确的方法编写下面的脚本,我将非常感谢您的教育

//@version=4
study("Shadowing Variable Error", shorttitle="Error", overlay=true)


//Weekly Open
wOpen = security(syminfo.tickerid, "W", open, lookahead = barmerge.lookahead_on)

//Monthly Open
mOpen = security(syminfo.tickerid, "M", open, lookahead = barmerge.lookahead_on)

//Previous Day Open High Low
pdOpen = security(syminfo.tickerid, "D", open[1], lookahead=true)

pdHigh = security(syminfo.tickerid, "D", high[1], lookahead=true)
pdLow = security(syminfo.tickerid, "D", low[1], lookahead=true)
pdEQ = (pdHigh + pdLow) / 2

pwHigh = security(syminfo.tickerid, "W", high[1], lookahead=true)
pwLow = security(syminfo.tickerid, "W", low[1], lookahead=true)
pwEQ = (pwHigh + pwLow) / 2

//Current Day High Low
dhigh = security(syminfo.tickerid, "D", high, lookahead=true)
dLow = security(syminfo.tickerid, "D", low, lookahead=true)





PriceLine = input(true, title="Daily, Weekly, Monthly", group="Daily, Weekly, Monthly Price Axis")

var line wOpenLine = na
var line mOpenLine = na
var line pdOpenLine = na
var line pdHighLine = na
var line pdLowLine = na
var line pdEQLine = na
var line pwEQLine = na


var line wOpenLabel = na
var line mOpenLabel = na
var line pdOpenLabel = na
var line pdHighLabel = na
var line pdLowLabel = na
var line pdEQLabel = na
var line pwEQLabel = na


if PriceLine 
    wOpenLine := line.new(bar_index[1], wOpen, bar_index, wOpen, color=color.yellow, style=line.style_dashed, width=1, extend=extend.right)
    mOpenLine := line.new(bar_index[1], mOpen, bar_index, mOpen, color=color.purple, style=line.style_dashed, width=1, extend=extend.right)
    pdOpenLine := line.new(bar_index[1], pdOpen, bar_index, pdOpen, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdHighLine := line.new(bar_index[1], pdHigh, bar_index, pdHigh, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdLowLine := line.new(bar_index[1], pdLow, bar_index, pdLow, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdEQLine := line.new(bar_index[1], pdEQ, bar_index, pdEQ, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pwEQLine := line.new(bar_index[1], pwEQ, bar_index, pwEQ, color=color.yellow, style=line.style_dashed, width=1, extend=extend.right)    

    label wOpenLabel = label.new(bar_index, wOpen, text = "                                                                                                                                                           wOpen - "+tostring(wOpen), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)
    label mOpenLabel = label.new(bar_index, mOpen, text = "                                                                                                                                                                                                                      mOpen - "+tostring(mOpen), color=color.purple, textcolor=color.purple, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)
    label pdOpenLabel = label.new(bar_index, pdOpen, text = "                                                                                              pdOpen - "+tostring(pdOpen), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    label pdHighLabel = label.new(bar_index, pdHigh, text = "                                                                                              pdHigh - "+tostring(pdHigh), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    label pdLowLabel = label.new(bar_index, pdLow, text = "                                                                                              pdLow - "+tostring(pdLow), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    label pdEQLabel = label.new(bar_index, pdEQ, text = "                                                                                                  pdEQ - "+tostring(pdEQ), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    label pwEQLabel = label.new(bar_index, pwEQ, text = "                                                                                                                                                           pwEQ - "+tostring(pwEQ), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)

//    label dOpenLabel = label.new(bar_index, dOpen, text = "dOpen\n\n"+tostring(dOpen), color=color.blue, textcolor=color.white, style=label.style_label_left, size=size.small,  xloc=xloc.bar_index )    
    line.delete(wOpenLine[1])
    line.delete(mOpenLine[1])    
    line.delete(pdOpenLine[1])    
    line.delete(pdHighLine[1])    
    line.delete(pdLowLine[1])    
    line.delete(pdEQLine[1])    
    line.delete(pwEQLine[1])    
    
//    label.delete(dOpenLabel[1])
    label.delete(wOpenLabel[1])
    label.delete(mOpenLabel[1])    
    label.delete(pdOpenLabel[1])    
    label.delete(pdHighLabel[1])    
    label.delete(pdLowLabel[1])   
    label.delete(pdEQLabel[1])   
    label.delete(pwEQLabel[1])   
你犯了两个错误

  • 您将标签变量定义为
    line
    ,而不是
    label
  • 您已经使用
    var
    关键字定义了
    wOpenLabel
    和其他变量
    因此,您不能使用
    =
    而是
    :=
    来赋值
更正代码:

//@version=4
study("Shadowing Variable Error", shorttitle="Error", overlay=true)


//Weekly Open
wOpen = security(syminfo.tickerid, "W", open, lookahead = barmerge.lookahead_on)

//Monthly Open
mOpen = security(syminfo.tickerid, "M", open, lookahead = barmerge.lookahead_on)

//Previous Day Open High Low
pdOpen = security(syminfo.tickerid, "D", open[1], lookahead=true)

pdHigh = security(syminfo.tickerid, "D", high[1], lookahead=true)
pdLow = security(syminfo.tickerid, "D", low[1], lookahead=true)
pdEQ = (pdHigh + pdLow) / 2

pwHigh = security(syminfo.tickerid, "W", high[1], lookahead=true)
pwLow = security(syminfo.tickerid, "W", low[1], lookahead=true)
pwEQ = (pwHigh + pwLow) / 2

//Current Day High Low
dhigh = security(syminfo.tickerid, "D", high, lookahead=true)
dLow = security(syminfo.tickerid, "D", low, lookahead=true)





PriceLine = input(true, title="Daily, Weekly, Monthly", group="Daily, Weekly, Monthly Price Axis")

var line wOpenLine = na
var line mOpenLine = na
var line pdOpenLine = na
var line pdHighLine = na
var line pdLowLine = na
var line pdEQLine = na
var line pwEQLine = na


var label wOpenLabel = na
var label mOpenLabel = na
var label pdOpenLabel = na
var label pdHighLabel = na
var label pdLowLabel = na
var label pdEQLabel = na
var label pwEQLabel = na


if PriceLine 
    wOpenLine := line.new(bar_index[1], wOpen, bar_index, wOpen, color=color.yellow, style=line.style_dashed, width=1, extend=extend.right)
    mOpenLine := line.new(bar_index[1], mOpen, bar_index, mOpen, color=color.purple, style=line.style_dashed, width=1, extend=extend.right)
    pdOpenLine := line.new(bar_index[1], pdOpen, bar_index, pdOpen, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdHighLine := line.new(bar_index[1], pdHigh, bar_index, pdHigh, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdLowLine := line.new(bar_index[1], pdLow, bar_index, pdLow, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pdEQLine := line.new(bar_index[1], pdEQ, bar_index, pdEQ, color=color.blue, style=line.style_dashed, width=1, extend=extend.right)    
    pwEQLine := line.new(bar_index[1], pwEQ, bar_index, pwEQ, color=color.yellow, style=line.style_dashed, width=1, extend=extend.right)    

    wOpenLabel := label.new(bar_index, wOpen, text = "                                                                                                                                                           wOpen - "+tostring(wOpen), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)
    mOpenLabel := label.new(bar_index, mOpen, text = "                                                                                                                                                                                                                      mOpen - "+tostring(mOpen), color=color.purple, textcolor=color.purple, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)
    pdOpenLabel := label.new(bar_index, pdOpen, text = "                                                                                              pdOpen - "+tostring(pdOpen), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    pdHighLabel := label.new(bar_index, pdHigh, text = "                                                                                              pdHigh - "+tostring(pdHigh), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    pdLowLabel := label.new(bar_index, pdLow, text = "                                                                                              pdLow - "+tostring(pdLow), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    pdEQLabel := label.new(bar_index, pdEQ, text = "                                                                                                  pdEQ - "+tostring(pdEQ), color=color.blue, textcolor=color.blue, style=label.style_none, size=size.normal,  xloc=xloc.bar_index, textalign=text.align_right)
    pwEQLabel := label.new(bar_index, pwEQ, text = "                                                                                                                                                           pwEQ - "+tostring(pwEQ), color=color.yellow, textcolor=color.yellow, style=label.style_none, size=size.normal,  xloc=xloc.bar_index)

//    label dOpenLabel = label.new(bar_index, dOpen, text = "dOpen\n\n"+tostring(dOpen), color=color.blue, textcolor=color.white, style=label.style_label_left, size=size.small,  xloc=xloc.bar_index )    
    line.delete(wOpenLine[1])
    line.delete(mOpenLine[1])    
    line.delete(pdOpenLine[1])    
    line.delete(pdHighLine[1])    
    line.delete(pdLowLine[1])    
    line.delete(pdEQLine[1])    
    line.delete(pwEQLine[1])    
    
//    label.delete(dOpenLabel[1])
    label.delete(wOpenLabel[1])
    label.delete(mOpenLabel[1])    
    label.delete(pdOpenLabel[1])    
    label.delete(pdHighLabel[1])    
    label.delete(pdLowLabel[1])   
    label.delete(pdEQLabel[1])   
    label.delete(pwEQLabel[1])