require(xts)
data<- c(100,101,102,103,104,99,98,97,94,93,103,90,104,105,110)
date<- Sys.Date()-15:1
file<- xts(data,date)
colnames(file)<- "CLOSE"
file$high<- cummax(file$CLOSE)
file$trade<- ifelse(file$high*.95>=file$CLOSE, 1,ifelse(file$high*.9>=file$CLOSE, 2,0))
file
CLOSE high trade
2013-07-05 100 100 0
2013-07-06 101 101 0
2013-07-07 102 102 0
2013-07-08 103 103 0
2013-07-09 104 104 0
2013-07-10 99 104 0
2013-07-11 98 104 1
2013-07-12 97 104 1
2013-07-13 94 104 1
2013-07-14 93 104 1
2013-07-15 103 104 0
2013-07-16 90 104 1
2013-07-17 104 104 0
2013-07-18 105 105 0
2013-07-19 110 110 0
Команда для торговли колонке я дал, когда .90*column high >= close
, результат в торговле должны быть 2
. Я не понимаю, почему торговый столбец не равен 2 на 2013-07-14 и 2013-07-16.Создать столбец с несколькими IfElse()
У меня есть ответ на упомянутую выше проблему. моя реальная проблема - это что-то другое. я думал, что сделаю исследование и сделаю это, но проблема остается. Мне нужна колонка торговли, чтобы дать мне +1 или -1 каждый раз, когда закрытие снижается на 5%, 10%, 15% ... от максимума и когда от соответствующего закрытия, если снова закрытие вверх на 10%, оно должно дать мне -1. , когда мы добавляем +1 и -1 на любую заданную дату она не должна быть -ve или больше 5.
Результат правильный, если x *. 95