将 tradingview 的 pine 脚本转换为 VScode 中的 python
Convert tradingview's pine script to python in VScode
我想将以下 Pine 脚本转换为 python 来计算 vwap1 变量的值而不绘制结果,我只想计算 vwap1 的值:
...
wapScore(pds) =>
mean = sum(volume*close,pds)/sum(volume,pds)
vwapsd = sqrt(sma(pow(close-mean, 2), pds) )
(close-mean)/vwapsd
vwap1 = input(48)
plot(vwapScore(vwap1),title="ZVWAP2-48",color=#35e8ff, linewidth=2,transp=0.75)
...
我试过以下方法:
...
def calculate_SMA(ser, days):
sma = ser.rolling(window=days).mean()
return sma
def calculate_Zscore(pds, volume, close):
mean = sum(volume * close, pds) / sum(volume, pds)
vwapsd = np.sqrt(calculate_SMA(pow(close - mean, 2), pds))
return (close - mean) / vwapsd
...
我正在使用 calculate_Zscore
函数计算值并将其添加到 pandas 数据框,但它给了我不同的值而不是交易视图中的值
我只是想发表评论...但我的声誉不允许我:)
当然,pine 脚本 (tradingview) 的 sum
与 python sum
具有不同的类型签名。
特别是第二个参数具有完全不同的含义。
在 pine 脚本中 sum(x,y)
告诉您 x 的最后 y 值的滑动总和(后面 y 条的 x 总和)。
在python sum(x,y)
sum the iterable x
and if y
, 第二个参数已经通过(可选),这个值被添加到[=26的项目总和=] 如果你的 sum(x)
== 4.5 那么 sum(x,10)
== 14.5
所以您的代码至少在使用此方法时肯定需要更改
希望能有所帮助
我想将以下 Pine 脚本转换为 python 来计算 vwap1 变量的值而不绘制结果,我只想计算 vwap1 的值:
...
wapScore(pds) =>
mean = sum(volume*close,pds)/sum(volume,pds)
vwapsd = sqrt(sma(pow(close-mean, 2), pds) )
(close-mean)/vwapsd
vwap1 = input(48)
plot(vwapScore(vwap1),title="ZVWAP2-48",color=#35e8ff, linewidth=2,transp=0.75)
...
我试过以下方法:
...
def calculate_SMA(ser, days):
sma = ser.rolling(window=days).mean()
return sma
def calculate_Zscore(pds, volume, close):
mean = sum(volume * close, pds) / sum(volume, pds)
vwapsd = np.sqrt(calculate_SMA(pow(close - mean, 2), pds))
return (close - mean) / vwapsd
...
我正在使用 calculate_Zscore
函数计算值并将其添加到 pandas 数据框,但它给了我不同的值而不是交易视图中的值
我只是想发表评论...但我的声誉不允许我:)
当然,pine 脚本 (tradingview) 的 sum
与 python sum
具有不同的类型签名。
特别是第二个参数具有完全不同的含义。
在 pine 脚本中 sum(x,y)
告诉您 x 的最后 y 值的滑动总和(后面 y 条的 x 总和)。
在python sum(x,y)
sum the iterable x
and if y
, 第二个参数已经通过(可选),这个值被添加到[=26的项目总和=] 如果你的 sum(x)
== 4.5 那么 sum(x,10)
== 14.5
所以您的代码至少在使用此方法时肯定需要更改
希望能有所帮助