[问题] 使用multicharts测试指定日期的绩效

楼主: genesic (嗯?)   2015-05-24 22:53:42
我想要用multicharts来回测指定某个星期几的绩效
譬如常常有人说周五是台股空军日
所以我想要回测周一到周五只挑一天
在开盘买进收盘卖出的绩效
(ex: 每个礼拜一的时候开盘就买进,收盘就卖出)
我试写的程式是长这个样子
Inputs: check_day(1);
var: string1(""),string2(""), day_of_week(0);
day_of_week = DayOfWeek(Date);
if day_of_week = check_day then begin
string1 = "dayBuy => " + NumToStr(day_of_week,0);
string2 = "daySell => " + NumToStr(day_of_week,0);
buy (string1) 1 Contract next bar at market;
sell (string2) 1 Contract next bar at market;
end
但是因为都是在next bar同时做买进卖出的动作
所以根本看不出绩效是如何
于是卖出的部分我试着用
sell this bar at close
结果卖出的点位就飞到了四天后
我还试了很多其他的写法,但是compiler都不给过0rz
想请问版上有没有人碰过类似的情况
方便指点一下该怎么处理这个问题比较好?
(或是说MC无法解决这个需求?)
感谢~
作者: yuting0103 (凌波微步)   2015-05-25 11:19:00
台指期星期二是逆势日
作者: zzelida (zelida)   2015-05-25 12:25:00
setexitonclose?
楼主: genesic (嗯?)   2015-05-25 22:05:00
我去讨论区问客服,他给了我一个真的跑的出来的写法不过我还要研究看看为什么他这样写法才对XD
作者: GX90160SS   2015-05-25 22:56:00
MC的逻辑是一根K棒执行一次程式码,这个例子看起来是在礼拜一时的第二根K棒买进,礼拜二的第一根K棒卖出上面写错惹QQ 无视吧不过建议写当冲不要用日K架构...用分K架构加上time=1330(或其他收盘时间,时间须为该分K整除)ex:5分K,if time = 0845 buy, if time = 1330 sell
楼主: genesic (嗯?)   2015-05-25 23:33:00
感谢回应,不过我这还不是要写实际执行的策略喔我是想先从观察一些现象来当做未来设定策略的参考等到真的要实际写进场用的策略时我会注意你说的问题的!

Links booklink

Contact Us: admin [ a t ] ucptt.com