pine-script - 在“情节”上得到:“Pine 无法确定系列的参考长度”错误
问题描述
使用max_bars_back()
managed 来执行代码,但随后plot
(第 35 和 36 行 - 当它们被注释掉时,脚本将运行)错误又回来了。我原以为所有的计算都已经完成了,绘图只需要显示结果,所以我对这个结果有点惊讶。
我还尝试将缓冲区设置max_bars_back()
为较大的数字10000
,但仍然出现错误,所以我认为问题不仅仅是缓冲区太小。
这段代码还没有完成,即使修复了这个错误,它也不会完全符合我的要求,但我必须通过这一点才能完成它。我想要做的是绘制一条线,显示蜡烛的最高点和最低点,蜡烛的长度isSideways
保持为真,然后在isSideways
为假时不绘制任何东西。我提到这一点是因为如果完全不同的方法是正确的解决方案,请赐教,因为我对 pine 脚本相当陌生。
//@version=4
study("My Script")
sidewaysBbSource = input(close, "Source" , type=input.source , group="Sideways Detection")
sidewaysBbLength = input( 50 , "Length" , type=input.integer , minval=1 , group="Sideways Detection")
sidewaysBbrLen = input( 21 , "Signal Smoothing" , type=input.integer , minval=1 , maxval=50, group="Sideways Detection")
sidewaysBbMult = input( 4.0, "Std Deviation" , type=input.float , minval=0.001 , maxval=50, step=0.001, group="Sideways Detection")
sidewaysBbrStdThresh = input( 0.08, "Std Deviation threshold" , type=input.float , step=0.01 , group="Sideways Detection")
// Sideways indicator
sidewaysBasis = sma(sidewaysBbSource, sidewaysBbLength)
sidewaysStdDev2 = sidewaysBbMult * stdev(sidewaysBbSource, sidewaysBbLength)
sidewaysUpper = sidewaysBasis + sidewaysStdDev2
sidewaysLower = sidewaysBasis - sidewaysStdDev2
sidewaysBbr = (sidewaysBbSource - sidewaysLower)/(sidewaysUpper - sidewaysLower)
sidewaysStdDev = stdev(sidewaysBbr, sidewaysBbrLen)
isSideways = (sidewaysBbr > 0.0 and sidewaysBbr < 1.0) and sidewaysStdDev <= sidewaysBbrStdThresh
int le = 0
max_bars_back(le, 300)
le := barssince(not isSideways)
le := le == 0 ? 1 : le
//plot(le, color=color.new(color.blue, 0), style=plot.style_cross)
float L = 0
float H = 0
//max_bars_back(L, 300)
//max_bars_back(H, 300)
L := lowestbars(high, le)
H := highestbars(low, le)
//L := le == 1 ? na : L
//H := le == 1 ? na : H
plot(L, "Lowest sideways" , color=color.new(color.blue, 0), style=plot.style_cross)
//plot(H, "highest sideways", color=color.new(color.red, 0), style=plot.style_cross)
bgcolor( title="Sidways", color=isSideways ? color.rgb(236, 64, 122, 50) : color.new(color.white, 100))
plot(sidewaysStdDev, title="Standard Deviation", color=color.new(color.blue, 0), style=plot.style_line)
plot(sidewaysBbrStdThresh, title="Standard Deviation Threshold", color=color.new(color.white, 50), style=plot.style_cross)
解决方案
我要求支持松树,这就是答案:
//@version=4
study("My Script", max_bars_back = 4999)
...
推荐阅读
- java - 如何使用 Apache POI 创建链接到长 url 的 excel 超链接
- makefile - 为什么编译 Fortran MAIN__ 对象会产生 MAIN__ 的重复定义存在的错误?
- android - 如何使用提供商在 Firebase 登录中获取访问令牌
- ms-access - 级联组合框返回空白值
- sql - 为什么替换函数不替换字符串?
- r - 按组拆分一个 plotly boxplot x 轴
- chart.js - ChartJS:在条形图上创建线性 x 轴
- azure - 在 VNET 上的 ACI 上运行的容器无法访问 Internet 地址(出站连接)
- authentication - 将 Postman 与 AWS Cognito 身份验证结合使用
- wildfly-swarm - 带 Hotswap 代理的 Thorntail 可能吗?