请教老师:我想做一个当日(如今天)的20个交易日前的那天的一个买入(buy),多谢指导!
如,今天是8.27日,想在7.30日买入,用于回测实验。
(我试用了TrueDate,PreTradingDay,OnInit(),global等,都没成功)
非常感谢,Bryan2020!!!
贴个效果图
虽然你这个想法非常奇特,但是依然是可以实现的。
Vars
Global Numeric BuyDay; //定义变量用于存放“二十个交易日前那天的日期”
OnInit()
{
Numeric i;
Numeric n(0);
For i= 1 to 10000
{
If(IsTradingDay(DateAdd(CurrentDate,Neg(i)))) //从今天日期开始一天天往前查,如果是交易日,N加1
n = n +1;
If(n == 20) //在N=20的时候,记录下那天的日期,退出循环。
{
BuyDay = DateAdd(CurrentDate,Neg(i));
Break;
}
}
}
OnBar(ArrayRef<Integer> indexs)
{
If(Date == BuyDay) //如果本bar的日期等于“二十个交易日前的那天”,买之。
Buy(1,O);
}