2

我正在尝试编写一个代码,为满足以下条件的所有条形图着色:
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

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

4

1 回答 1

3

我研究了您的脚本并确定了以下问题...

  1. 你的颜色条件总是假的
  2. 您分配的颜色不正确

你的颜色条件总是假的

这是因为您的最高逻辑包括当前的收盘价。收盘价不可能高于最高点,因为它是最高点。

解决方案是在最高函数的响应中附加一个索引值,以查看上一期的最高点。

hp1 = highest(high, 20)[1]

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

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

我请您参考系列运算符

您分配的颜色不正确

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

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

希望这可以帮助

于 2017-12-11T01:17:55.050 回答