【问题标题】:Horizontal line on chart on TradingViewTradingView 图表上的水平线
【发布时间】:2020-11-07 15:47:24
【问题描述】:

我在 TradingView 上使用图表,我想画水平线。 水平线是枢轴点。

我已经计算了它们,每个值都存储在一个变量中。

width = input(2, minval=1)
xHigh  = security(tickerid,"D", high[1])
xLow   = security(tickerid,"D", low[1])
xClose = security(tickerid,"D", close[1])
vPP = (xHigh+xLow+xClose) / 3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
vR2 = vPP + (xHigh - xLow)
vS2 = vPP - (xHigh - xLow)
vR3 = xHigh + 2 * (vPP - xLow) 
vS3 = xLow - 2 * (xHigh - vPP)

我已经尝试使用这条线来完成这项工作

plot(vPP, color=black, title="vPP", style = line, linewidth = width)

但是从一天到另一天,这条线并没有切断。所以看起来不太好。看图片。

这是我正在寻找的结果:

我想要:

  • 显示今天和昨天的轴心点。
  • 这些行从今天开始到会话结束
  • 在行前写“PP, S1/S2/S3, R1/R2/R3”

感谢您的建议

【问题讨论】:

    标签: pivot pine-script horizontal-line


    【解决方案1】:

    要删除连接线,必须在值发生变化时使用颜色na
    代码示例见PineCoders-LucF对我的一个问题Plotting manual levels for daily high,low,close的回答

    编辑:您的代码示例,已修改为按您的预期工作。

    //@version=4
    study("My Script", overlay=true)
    
    width = input(2, minval=1)
    xHigh  = security(syminfo.ticker,"D", high[1])
    xLow   = security(syminfo.ticker,"D", low[1])
    xClose = security(syminfo.ticker,"D", close[1])
    
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = vPP+(vPP-xLow)
    vS1 = vPP-(xHigh - vPP)
    vR2 = vPP + (xHigh - xLow)
    vS2 = vPP - (xHigh - xLow)
    vR3 = xHigh + 2 * (vPP - xLow) 
    vS3 = xLow - 2 * (xHigh - vPP)
    
    plot(vPP, color=change(vPP) ? na : color.black, title="vPP", style = plot.style_linebr, linewidth = width)
    

    根据 cmets 的要求,@version=3 的代码。
    备注:您确实应该使用@version=4 来访问最新的 Pine 脚本功能。

    //@version=3
    study("My Script", overlay=true)
    
    width = input(2, minval=1)
    xHigh  = security(tickerid,"D", high[1])
    xLow   = security(tickerid,"D", low[1])
    xClose = security(tickerid,"D", close[1])
    
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = vPP+(vPP-xLow)
    vS1 = vPP-(xHigh - vPP)
    vR2 = vPP + (xHigh - xLow)
    vS2 = vPP - (xHigh - xLow)
    vR3 = xHigh + 2 * (vPP - xLow) 
    vS3 = xLow - 2 * (xHigh - vPP)
    
    plot(vPP, color=change(vPP) ? na : black, title="vPP", style = linebr, linewidth = width)
    

    【讨论】:

    • 所以我在开头添加了以下代码行:“float vPP = na”,然后是“plot(vPP, change(vPP) ? na : color.black, ti​​tle="vPP",样式 = linebr,线宽 = 宽度)”。但是它得到这个错误:“脚本无法从:|B|float vPP = na|E| |B| 翻译。”有什么想法吗?
    • 我已经编辑了我的答案以包含您的代码示例。
    【解决方案2】:

    尝试style = plot.style_linebr 而不是style = line

    style = linebr
    

    【讨论】:

    • “错误:未声明的标识符 plot.style_linebr” 行“plot(vPP, color=black, ti​​tle="vPP", style = plot.style_linebr, linewidth = width)”
    • 您使用的是什么版本?也许只是 style = linebr
    • 第一个解决方案给出了这个错误:错误:未声明的标识符style_linebr 第二个解决方案没有错误,但是结果与我不知道版本的第一张图片相同。我会说v3 , 因为我已经尝试过函数“line.new()”但它没有工作,因为它没有被识别
    • 我猜linebr并没有解决问题,因为没有丢失数据...
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2023-04-03
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多