如何计算移动平均线交叉后的天数?
我试图确定自趋势开始以来已经过去的天数,例如,当价格高于 200 天移动平均线 (SMA) 时。例如:
require(quantmod)
ticker <- "QQQ"
x <-getSymbols(ticker, auto.assign = FALSE)
sma <- SMA(Ad(x), 200)
我试图返回一个范围从 0(第一天穿越 200 日 SMA)到 X 或 -X 的变量,具体取决于价格趋势是高于 SMA 还是低于 SMA。
不用for循环可以完成吗?
I'm trying to determine the number of days that have passed since the beginning of a trend, e.g. when price has moved above the 200 day moving average (SMA). For example:
require(quantmod)
ticker <- "QQQ"
x <-getSymbols(ticker, auto.assign = FALSE)
sma <- SMA(Ad(x), 200)
I'm trying to return a variable that ranges from 0 (first day crossing over the 200 day SMA) to X or -X, depending on whether price is trending above the SMA or below.
Can it be done without a for loop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此函数将返回自调整后价格穿过其移动平均线以来的天数(穿过当天为零)。如果当前价格低于 MA,则天数将为负数;如果当前价格高于 MA,则天数将为正数。
x
是一个带有Adjusted
列的 xts 对象,n
是用于的
n
SMAThis function will return the number of days since the Adjusted price crossed its moving average (zero on the day it crosses). The number of days will be a negative number if the current price is below the MA, and will be positive if the current price is above the MA.
x
is an xts object with anAdjusted
column, andn
is then
to use for theSMA