如何计算移动平均线交叉后的天数?

时间:2011-10-02 23:22:20

标签: r quantmod

我正在尝试确定自趋势开始以来已过去的天数,例如当价格移动到200天移动平均线(SMA)以上时。例如:

require(quantmod)
ticker <- "QQQ"
x <-getSymbols(ticker, auto.assign = FALSE)
sma <- SMA(Ad(x), 200)

我正在尝试返回一个范围从0(第一天越过200天SMA)到X或-X的变量,具体取决于价格是否高于SMA或以下。

没有for循环可以完成吗?

1 个答案:

答案 0 :(得分:4)

此函数将返回自调整后价格超过其移动平均线以来的天数(跨越当天为零)。如果当前价格低于MA,天数将为负数,如果当前价格高于MA,则天数为正。

x是一个xts对象,其中Adjusted列,n是用于n的{​​{1}}

SMA