如何从pine脚本中的函数更改全局变量?

时间:2020-03-28 17:44:37

标签: pine-script

我正在尝试编写脚本以获取9个等级的甘恩平方。我已经用另一种语言完成了操作,但是在这里无法理解pine脚本,它说无法修改函数中的全局变量。有什么解决方法可以获取值,这是我的脚本

//@version=4
study(title="Volume-weighted average example", max_bars_back=5000, overlay=true)
timeDiff = time - time[4]

// Translate that time period into seconds
diffSeconds = timeDiff / 1000

// Output calculated time difference
//plot(series=diffSeconds)
var ln = 0
var wdvaltrg = 0.0

WdGann(price) =>
    for i = 1 to 8
        wdvaltrg := (ln+(1/i))*(ln+(1/i))
        if wdvaltrg >= price
            break
    if wdvaltrg < price
        ln := ln+1
        WdGann(price)

var vwap0935 = 0.0
v = vwap
if hour == 9 and minute == 35
    vwap0935 := v



plot(vwap0935)

1 个答案:

答案 0 :(得分:1)

自2020年9月10日起,松木中的阵列开始可用。并使用它可以在全局范围内存储在函数中创建的值。

这行得通,因为编写数组元素不会更改实际数组变量的引用。因此,您只需使用全局数组并修改其内容即可,就像在功能之外一样。

在松树脚本中打开了很多可能性。

一个简单的例子:

extends