Ошибка volColor не является проблемой.
Это последняя ошибка, с которой столкнулся компилятор, потому что предыдущий оператор не скомпилировался.
Ваша полная ошибка такова:
Error: Cannot call `iff` with arguments (series__bool, literal__color); available overloads: iff(bool, integer, integer) => integer; iff(bool, float, float) => float; iff(bool, series, series) => series; iff(bool, series__color, series__color) => series__color; iff(bool, bool, bool) => bool; iff(bool, string, string) => string; iff(series__bool, integer, integer) => series__integer; iff(series__bool, float, float) => series; iff(series__bool, series, series) => series; iff(series__bool, series__color, series__color) => series__color; iff(series__bool, bool, bool) => series__bool; iff(float, integer, integer) => integer; iff(float, float, float) => float; iff(float, series, series) => series; iff(float, series__color, series__color) => series__color; iff(float, bool, bool) => bool; iff(float, string, string) => string; iff(series, integer, integer) => series__integer; iff(series, float, float) => series; iff(series, series, series) => series; iff(series, series__color, series__color) => series__color; iff(series, bool, bool) => series__bool;
Error: Undeclared identifier `volColor`
Настоящая проблема в том, что iif
принимает 3 входа вместо 2.
Это будет работать.
//@version=4
study("200% Volume Highlight", shorttitle="Vol_200%")
signalThreshold = input(defval=200, title="Threshold (%)", type=input.float, minval=0)
v = volume
v0 = volume[0] // volume[0] is the volume on the current bar. So it's the same as just using 'volume'. Or in your case, variable 'v'.
v1 = volume[1]
color volColor = na
color defaultColor = color.blue
color signalColor = #DC143C
pct = (v0-v1)/v1*100
volColor := iff(pct>signalThreshold, signalColor, defaultColor)
// This code will be faster. It does the same thing, but doesn't call a function.
//volColor := pct > signalThreshold ? signalColor : defaultColor
plot(series=volume, style=plot.style_histogram, color=volColor)
Примечание: Вы всегда должны использовать //@version=x
в качестве первая строка ваших скриптов.