Pine Script (TradingView) 颜色高于最高价

Pine Script (TradingView) color above Highest High

我正在尝试编写一个代码,为满足以下条件的所有条形着色:
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. 你的颜色条件总是错误的
  2. 您分配的颜色不正确

你的颜色条件总是错误的

这是因为您的最高逻辑包含当前的 close 问题。 收盘价不可能高于最高价,因为最高价。

解决方法是在 highest 函数的响应中附加一个索引值,以查看前一周期的最高价。

hp1 = highest(high, 20)[1]

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

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

请大家参考series operator.

您分配的颜色不正确

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

编辑: 进一步检查后,您可以按照最初的方式更改颜色。你刚刚教了我一些东西。干杯!

希望对您有所帮助