我正在尝试创建一个具有每天变化的动态 n 的指标。基本上,我正在制定一个策略,当股票价格达到其历史最高价时进入交易。
我能想到的最好方法是使用 Donchian Chanel,并在收盘价等于或高于所有之前的 DC 高点时入场。为此,我需要:
n =(算法的当前日期 - 开始日期)。
这样,该指标将从第一天开始工作,并且不会“忘记”之前的高点,因为该策略贯穿多年的数据。我遇到的问题是我不知道如何编写一个代码/函数来表达当前的策略日期,我可以把它变成一个简单的计算。我能想到的最好的代码是:
##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 Channel n。我遇到的问题是,无论我尝试使用什么来代替 as.Date(datePos) 它总是告诉我“找不到对象'datePos'”。我尝试使用我之前在代码中指定的其他内容,例如:日期、时间戳。
任何建议都会非常有帮助。