pine-script - 有没有办法在函数中使用 bgcolor ?
问题描述
我正在尝试创建一个从股票代码(在本例中为 VIX)获取条件的图,并在满足条件时更改当前图表的背景颜色。但是,bgcolor 不断抛出此错误line 22: Cannot use 'bgcolor' in local scope.
有没有办法保留bgcolor
函数,以便它知道是否应该更改背景颜色?谢谢!
//@version=4
study(title="Help (VIX Momo)", shorttitle="Vix Momo", overlay=false)
stock_1 = input(title='Stock Selection', defval='TVC:VIX')
highlight(stock_1) =>
vix_30sma = security(stock_1, 'D', sma(close, 30))
vix_50sma = security(stock_1, 'D', sma(close, 50))
timeFrame_VIX = input(title="Other time frame", type=input.resolution, defval="180")
smaClose_VIX = security(stock_1, timeFrame_VIX, sma(close,200))
threehr_price_VIX = security(stock_1, timeFrame_VIX, close)
red_VIX = (vix_30sma > vix_50sma) and (threehr_price_VIX >= smaClose_VIX) and (close >= vix_50sma)
if red_VIX
bgcolor(red_VIX ? #eb4034 : na, transp = 80)
else
na
p1 = security(stock_1, 'D', highlight(stock_1))
plot(p1, title="VIX")
解决方案
在我看来,您对这种情况感到困惑。但无论如何,最终的脚本看起来像这样。
//@version=4
study(title="Help (VIX Momo) v2", shorttitle="Vix Momo", overlay=false)
stock_1 = input(title='Stock Selection', defval='TVC:VIX')
timeFrame_VIX = input(title="Other time frame", type=input.resolution, defval="180")
highlight() =>
vix_30sma = sma(close, 30)
vix_50sma = sma(close, 50)
smaClose_VIX = sma(close,200)
threehr_price_VIX = close
red_VIX = (vix_30sma > vix_50sma) and (threehr_price_VIX >= smaClose_VIX) and (close >= vix_50sma)
p1 = security(stock_1, timeFrame_VIX, highlight())
//plot(p1, title="VIX")
bgcolor(p1 ? #eb4034 : na, transp = 80)
推荐阅读
- mqtt - 将 MQTT 默认端口更改为 443
- spring - Spring JpaRepository findAll() 方法多次返回同一行
- linux-kernel - 从用户空间读取/写入导出内核符号的方法
- android - 应用程序未安装在 Android 设备上 - Ionic4
- javascript - libphonenumber-js:'未捕获的类型错误:用于解析的文本必须是字符串'
- ruby-on-rails - 如何使用 activeadmin 删除管理员的“删除”选项?
- r - Rshiny 中的多输入选择
- r - 如何计算和绘制“beta-delta 贴现模型”?
- angular - 无法订阅 observable
- assembly - 如何让两个代码同时运行?(DOS 组装)