【问题标题】:TradingView's ‘undeclared identifier’ error in pine editorTradingView 在 pine 编辑器中的“未声明标识符”错误
【发布时间】:2020-07-22 13:19:56
【问题描述】:

在 tradingview 上的 pine 中的自定义标识符有问题:

smma(src, length) =>
   smma = na(smma[1]) ? sma(src, length) : (smma[1] * (length - 1) + src) / length
   smma

第 2 行出现错误:未声明的标识符smma 有人知道如何解决吗?将不胜感激任何建议

【问题讨论】:

    标签: pine-script undeclared-identifier


    【解决方案1】:

    其中任何一个都可以。需要在引用变量之前声明变量:

    //@version=4
    study("","",true)
    
    smma(src, length) =>
        float smma = na
        smma := na(smma[1]) ? sma(src, length) : (smma[1] * (length - 1) + src) / length
    
    smma2(src, length) =>
        var float smma = na
        smma := na(smma) ? sma(src, length) : (smma * (length - 1) + src) / length
    
    plot(smma(close, 20))
    plot(smma2(close, 20), "", color.blue, 6, transp = 80)
    

    【讨论】:

    • 我都在尝试,但得到了syntax error at input `smma` 所以,我只是删除了表达式的浮点值,它可以工作!谢谢你,伙计!
    • 这意味着您的脚本使用的是早于 v4 的 Pine 版本,在这种情况下,您应该只使用答案中的第一个 smma() 函数,并且像您所做的那样删除 float 正是需要。重要的是,当您发布代码时,让我们知道您使用的是哪个版本的 Pine。这就是脚本开头的//@version=x 编译器指令的作用。如果没有,则使用v1,这并不理想。
    猜你喜欢
    • 1970-01-01
    • 2023-02-11
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2013-03-12
    • 2013-01-22
    相关资源
    最近更新 更多