我正在尝试确定自趋势开始以来已过去的天数,例如当价格移动到200天移动平均线(SMA)以上时。例如:
require(quantmod)
ticker <- "QQQ"
x <-getSymbols(ticker, auto.assign = FALSE)
sma <- SMA(Ad(x), 200)
我正在尝试返回一个范围从0(第一天越过200天SMA)到X或-X的变量,具体取决于价格是否高于SMA或以下。
没有for循环可以完成吗?
答案 0 :(得分:4)
此函数将返回自调整后价格超过其移动平均线以来的天数(跨越当天为零)。如果当前价格低于MA,天数将为负数,如果当前价格高于MA,则天数为正。
x
是一个xts对象,其中Adjusted
列,n
是用于n
的{{1}}
SMA