我有这样的数据:
library("xts")
close <- c(0, -0.5, -0.75, -1, -0.75, -1.5, -2, -2.5, -3, -3.5, -3, -2.5, -2, -1, 0, 1, 1.5, 2, 2.5, 3, 2.5, 2, 0)
data <- xts(close, Sys.Date()-23:1)
colnames(data) <- "close"
我想生成另一列,它将根据以下逻辑给我一个交易信号:
- 当收盘价为@或低于-1、-2和-3时买入。
- 当收盘价为 @ 或高于 0 时卖出所有 3。
- 当收盘价为@或高于1、2和3时卖空
- 当收盘价为 @ 或低于 0 时买入所有 3 个。
为此我尝试过
data$trade <- 0
data$trade[data$close <= -1] <- 1
data$trade[data$close <= -2] <- 2
data$trade[data$close <= -3] <- 3
data$trade[data$close >= 1] <- -1
data$trade[data$close >= 2] <- -2
data$trade[data$close >= 3] <- -3
数据交易栏给我 (0,0,0,1,0,1,2,2,,3,3,3,2,2,1,0,-1,-1,-2,-2, -3,-2,-2,0) 但我希望它应该给我 ((0,0,0,1,1,1,2,2,3,3,3,3,3,3,0 ,-1,-1,-2,-2,-3,-3,-3,0) 我希望当我购买 @say -1 或 -2 时,交易信号应该一直打开,直到我们达到 0 或以上,并且同样,当我们卖空它@say -1, -2 等时,交易信号应该一直打开,直到我们达到 0 或以下。请帮助我尝试了很多组合,但没有得到所需的结果。