Pine Script - 条件绘图样式
Pine Script - Conditional Plot Style
我在任何地方都找不到这个问题的答案;甚至在官方文档中也没有。我试过自己编写代码,但它不起作用,所以可能无法实现。
在下面的示例中,您可以使用条件颜色进行绘图:
//STACKED EMAs
MA1 = ta.ema(close, 5)
MA2 = ta.ema(close, 8)
MA3 = ta.ema(close, 13)
MA4 = ta.ema(close, 21)
MA5 = ta.ema(close, 34)
MA_Stack_Up = (MA1 > MA2) and (MA2 > MA3) and (MA3 > MA4) and (MA4 > MA5)
//CONDITIONS
Uptrend = MA_Stack_Up
Reversal = ((MA1 < MA2) and (MA2 > MA3)) or ((MA1 > MA2) and (MA2 < MA3))
//COLOR CODING
Bar_Color = Uptrend ? color.new(color.green, 25) : Reversal ? color.new(color.yellow, 25) : color.new(color.red, 25)
//PLOTS
plot(1, color=Bar_Color, style=plot.style_circles, linewidth=3)
是否可以有一个改变剧情风格的条件语句?
示例:
B_Style = Cond1 ? plot.style_line : Cond2 ? plot.style_cross : plot.style_circles
//PLOTS
plot(1, color=Bar_Color, style=B_Style, linewidth=3)
目前看来是不可能的。一种可能的解决方法是使用变量作为 plot()
的条件,并针对不同的样式进行多次 plot
调用。
//@version=5
indicator("My Script")
myRsi = ta.rsi(close, 14)
cond = myRsi < 40 ? 1 : myRsi < 60 ? 2 : na
plot(cond == 1 ? myRsi : na, style=plot.style_circles, linewidth=2)
plot(cond == 2 ? myRsi : na, style=plot.style_cross, linewidth=2)
hline(40, color=color.red)
hline(60, color=color.red)
我在任何地方都找不到这个问题的答案;甚至在官方文档中也没有。我试过自己编写代码,但它不起作用,所以可能无法实现。
在下面的示例中,您可以使用条件颜色进行绘图:
//STACKED EMAs
MA1 = ta.ema(close, 5)
MA2 = ta.ema(close, 8)
MA3 = ta.ema(close, 13)
MA4 = ta.ema(close, 21)
MA5 = ta.ema(close, 34)
MA_Stack_Up = (MA1 > MA2) and (MA2 > MA3) and (MA3 > MA4) and (MA4 > MA5)
//CONDITIONS
Uptrend = MA_Stack_Up
Reversal = ((MA1 < MA2) and (MA2 > MA3)) or ((MA1 > MA2) and (MA2 < MA3))
//COLOR CODING
Bar_Color = Uptrend ? color.new(color.green, 25) : Reversal ? color.new(color.yellow, 25) : color.new(color.red, 25)
//PLOTS
plot(1, color=Bar_Color, style=plot.style_circles, linewidth=3)
是否可以有一个改变剧情风格的条件语句?
示例:
B_Style = Cond1 ? plot.style_line : Cond2 ? plot.style_cross : plot.style_circles
//PLOTS
plot(1, color=Bar_Color, style=B_Style, linewidth=3)
目前看来是不可能的。一种可能的解决方法是使用变量作为 plot()
的条件,并针对不同的样式进行多次 plot
调用。
//@version=5
indicator("My Script")
myRsi = ta.rsi(close, 14)
cond = myRsi < 40 ? 1 : myRsi < 60 ? 2 : na
plot(cond == 1 ? myRsi : na, style=plot.style_circles, linewidth=2)
plot(cond == 2 ? myRsi : na, style=plot.style_cross, linewidth=2)
hline(40, color=color.red)
hline(60, color=color.red)