我正在尝试使用 MFI 生成买入/卖出信号来测试策略。它实际上应该很简单,但是 R 让我很难过。
这是我的代码:
q <- get(getSymbols('spy',src='yahoo'))
q$mfi <- MFI(q[,2:4],q[,5],5)
sig <- function(row) {
if (row$mfi < 20) { return (1)}
else if (row$mfi > 80) { return (-1)}
else { return (0)}}
q$result<-apply(q,1,sig)
我得到的错误是:
Error in row$mfi : $ operator is invalid for atomic vectors
如果有更好的方法使用简单的条件测试策略,我将不胜感激......