Я пытаюсь создать индикатор с динамическим n, который меняется каждый день.По сути, я делаю стратегию, которая входит в сделку, когда цена акций достигает своей самой высокой цены за все время.
Лучший способ сделать это - использовать канал Дончиана и войти, когда цена закрытия равна или превышает все предыдущие максимумы DC.Для этого мне нужно:
n = (Текущая дата алгоритма - дата начала).
Таким образом, индикатор начнет работать со дня 1 и не будет «забывать» о предыдущих максимумах, так как стратегия работает на данных за годы.У меня проблема в том, что я не знаю, как написать код / функцию, которая будет отображать текущую дату стратегии таким образом, чтобы я мог превратить ее в простой расчет.Лучший код, который я могу придумать:
##Problem in line below##
dcn <- difftime(initdate, as.Date(datePos), units = c("days"))
### This part will work fine once dcn is working
BuySig<-function(price,DC...)
{ifelse(price=>DC,1,0)}
add.indicator(strategy=strategyname,name="DonchianChannel",
arguments=list(HL=quote(mktdata$Close),n=dcn),label="DC")
dcn, конечно, будет моим каналом Donichan n.Проблема, с которой я сталкиваюсь, заключается в том, что независимо от того, что я пытаюсь использовать вместо as.Date (datePos), он постоянно говорит мне «объект« datePos »not found».Я пытался использовать другие вещи, которые я указал ранее в моем коде, такие как: Даты, отметка времени.
Любой совет был бы очень полезен.