【问题标题】:converting a function from V1 to V4 pinescript将函数从 V1 转换为 V4 pinescript
【发布时间】:2021-11-08 18:47:28
【问题描述】:

我找到了一个我想使用并转换为 V4 的脚本,请参阅下面的功能和给出的错误。

lag(g, p) =>
    L0 = (1 - g)*p+g*nz(L0[1])
    L1 = -g*L0+nz(L0[1])+g*nz(L1[1])
    L2 = -g*L1+nz(L1[1])+g*nz(L2[1])
    L3 = -g*L2+nz(L2[1])+g*nz(L3[1])
    f = (L0 + 2*L1 + 2*L2 + L3)/6
    f
lmas = lag(Short, hl2)
lmal = lag(Long, hl2)

然后是尝试编译到 V4 时的错误:

line 214: Undeclared identifier 'L0';
line 215: Undeclared identifier 'L1';
line 216: Undeclared identifier 'L2';
line 217: Undeclared identifier 'L3'

我们将不胜感激。

【问题讨论】:

    标签: function pine-script undeclared-identifier


    【解决方案1】:

    在 Pine v3 中,不再可能创建在赋值期间引用自身的变量。要将代码转换为 v4,您需要先添加几行来创建 L* 变量,然后使用 := 运算符重新分配它们的值:

    lag(g, p) =>
        float L0 = na
        float L1 = na
        float L2 = na
        float L3 = na
        L0 := (1 - g)*p+g*nz(L0[1])
        L1 := -g*L0+nz(L0[1])+g*nz(L1[1])
        L2 := -g*L1+nz(L1[1])+g*nz(L2[1])
        L3 := -g*L2+nz(L2[1])+g*nz(L3[1])
        f = (L0 + 2*L1 + 2*L2 + L3)/6
        f
    lmas = lag(Short, hl2)
    lmal = lag(Long, hl2)
    

    【讨论】:

    • 谢谢你,现在工作 100%,非常感谢。
    猜你喜欢
    • 2022-12-05
    • 2021-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2022-11-12
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多