Pine Script(TradingView)颜色高于最高

时间:2017-12-06 07:49:57

标签: tradingview-api pine-script

我试图编写一个代码,为所有满足以下条件的条形图着色:
 1.收盘价高于20期移动平均线
 和
 2.他们在特定时期(比如说20天)内收于最高价以上

这是我目前的代码:

hp1 = highest(high, 20) //HH from given period
myMA = sma(close, 20) //my moving average to plot
plot(myMA)

myCond = close > hp1 and close > myMA 
barcolor(myCond? yellow: na) //if condition is met

代码似乎合乎逻辑,但不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我已经研究过你的剧本,并确定了以下问题......

  1. 您的颜色状况始终为假
  2. 您输入的颜色不正确
  3. 您的颜色条件始终为假

    这是因为您的最高逻辑包含当前的 close close 不可能高于最高值,因为 是最高值。

    解决方案是将一个索引值附加到最高函数的响应中,以查看前一时期的最高值。

    hp1 = highest(high, 20)[1]
    

    您可以按原样保留作业,并在使用时附加索引

    myCond = close > hp1[1] and close > myMA
    

    我邀请您参考 series operator

    您指定的颜色不正确

    您需要在 plot 函数上方移动条件颜色逻辑。此外,您需要将其作为参数传递给 plot 函数。我已经在下面提供了完整的解决方案。

    修改:进一步审核后,您可以改变原来的颜色。你刚刚教我一些东西。干杯!

    希望这有帮助