我尝试在要使用变量设置线宽的位置绘制线。
waveLinewidth = waveNum > 50 and src > src[1] ? 2 :
waveNum > 50 and src <= src[1] ? 1 :
waveNum < 50 and src < src[1] ? 2 :
waveNum < 50 and src >= src[1] ? 1 : 1
plot(waveNum + -50, color=waveColor, linewidth=waveLinewidth, transp=0, title="Buy Wave")
我使用waveColor变量但使用diff做完全相同的if-else语句。颜色。那行得通。但是,当我将linewidth = waveLinewidth添加到plot()时,出现以下错误消息:
line 147: Cannot call `plot` with arguments (series[float], color=series[color], linewidth=series[integer], transp=literal integer, title=literal string); available overloads: plot(series[float], const string, series[color], input integer, input integer, input bool, input integer, input float, series[integer], input bool, series[float], const bool, input integer, string) => plot; plot(fun_arg__<arg_series_type>, const string, fun_arg__<arg_color_type>, input integer, input integer, input bool, input integer, input float, series[integer], input bool, series[float], const bool, input integer, string) => plot;
答案 0 :(得分:0)
available overloads: plot(series[float], const string, series[color], input integer, input integer, input bool, input integer, input float, series[integer], input bool, series[float], const bool, input integer, string)
linewidth
的类型为integer
,这意味着在脚本执行之前必须知道其值。因此,您不能为其分配变量。
它与color
一起使用是因为color
的类型为series[color]
,其值可以在运行时确定。