Pine script 如何在pine script v4中基于蜡烛体颜色设置灯芯颜色? palete=(abs(开-关)/abs(高-低)>0.5)?开值\打开?颜色。绿色:颜色。红色)**)

Pine script 如何在pine script v4中基于蜡烛体颜色设置灯芯颜色? palete=(abs(开-关)/abs(高-低)>0.5)?开值\打开?颜色。绿色:颜色。红色)**),pine-script,Pine Script,value\u high、value\u low、value\u open、value\u close是自定义的高、低、开、关变量,该变量工作正常。问题仅适用于wickcolor 我正在尝试上面的代码,但它没有返回颜色的值。。。如何实现它?正如您在refman for中看到的,与身体的颜色不同,身体的颜色可以是一系列的颜色(因此在每个条上各不相同),wickcolor参数需要输入颜色,这意味着在脚本执行之前必须知道它 要克服此限制,我们需要对每种颜色使用单独的plotcandle()调用,并且脚

value\u high、value\u low、value\u open、value\u close是自定义的高、低、开、关变量,该变量工作正常。问题仅适用于wickcolor


我正在尝试上面的代码,但它没有返回颜色的值。。。如何实现它?

正如您在refman for中看到的,与身体的颜色不同,身体的颜色可以是一系列的颜色(因此在每个条上各不相同),
wickcolor
参数需要输入颜色,这意味着在脚本执行之前必须知道它

要克服此限制,我们需要对每种颜色使用单独的
plotcandle()
调用,并且脚本必须有空间容纳添加到脚本总打印计数中的8个额外打印(4个打印/
plotcandle()
调用)

虽然不漂亮,但效果很好:

palette = ( abs(open-close)/abs(high-low) > 0.5 )? open < close ? color.green : color.red : color.blue
plotcandle(choice =="Candle" ? value_open:na,value_high,value_low,value_close,color=palette,**wickcolor=(value_close > value_open ? color.green:color.red)**)
/@version=4
研究(“”)
选择=输入(“蜡烛”)
值\打开=打开
值高=高
值低=低
值\关闭=关闭
调色板=(abs(打开-关闭)/abs(高-低)>0.5)?开<关?颜色。绿色:颜色。红色:颜色。蓝色
//仅当用户希望绘制蜡烛且“调色板”与所需颜色“%u c”匹配时,才返回值“%u v”。
f_v(_c,_v)=>选择==“蜡烛”和调色板==\u c_v:na
c_g=颜色为绿色
plotcandle(f_v(c_g,值_open)、f_v(c_g,值_high)、f_v(c_g,值_low)、f_v(c_g,值_close)、color=c_g、wickcolor=c_g)
c_r=颜色为红色
plotcandle(f_v(c_r,值_open)、f_v(c_r,值_high)、f_v(c_r,值_low)、f_v(c_r,值_close)、color=c_r、wickcolor=c_r)
c_b=颜色为蓝色
plotcandle(f_v(c_b,值_open)、f_v(c_b,值_high)、f_v(c_b,值_low)、f_v(c_b,值_close)、color=c_b、wickcolor=c_b)

我在脚本中使用了相同的技术

//@version=4
study("")
choice = input("Candle")
value_open = open
value_high = high
value_low = low
value_close = close
palette = (abs(open - close) / abs(high - low) > 0.5 ) ? open < close ? color.green : color.red : color.blue

// Returns a value `_v` only if user wants to plot candle and `palette` matches the required color `_c`.
f_v(_c, _v) => choice == "Candle" and palette == _c ? _v : na

c_g = color.green
plotcandle(f_v(c_g, value_open), f_v(c_g, value_high), f_v(c_g, value_low), f_v(c_g, value_close), color = c_g, wickcolor = c_g)
c_r = color.red
plotcandle(f_v(c_r, value_open), f_v(c_r, value_high), f_v(c_r, value_low), f_v(c_r, value_close), color = c_r, wickcolor = c_r)
c_b = color.blue
plotcandle(f_v(c_b, value_open), f_v(c_b, value_high), f_v(c_b, value_low), f_v(c_b, value_close), color = c_b, wickcolor = c_b)