以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 老师帮忙看下我的模型回测为什么没信号 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173619) |
-- 作者:jzt666 -- 发布时间:2019/12/19 13:31:19 -- 老师帮忙看下我的模型回测为什么没信号 后台程序化,我把动态行情函数都去掉了,为什么还是不能测试 GLOBALVARIABLE:方向=0; GLOBALVARIABLE:INJC=0; GLOBALVARIABLE:COIN=0; GLOBALVARIABLE:BBJC=0; GLOBALVARIABLE:SSJC=0; N:=1; BBZY:=30; BBZS:=20; SSZY:=30; SSZS:=20; 账户1:\'\';
//为空时是当前账户 //品种1:\'HSI00\'; 品种2:\'HHI00\'; 昨收:CallStock(\'\', vtCLOSE, 6, -1); 最新:C; 差值:最新-昨收; 当前时间:=TIME(); 开仓时间:(当前时间>=090000 and 当前时间<=110000); 平仓时间:(当前时间>=114500); NEWJC : C-CallStock(品种2, vtCLOSE, -1, 0); //主开多 if 差值>BBJC and 开仓时间 and COIN=0 then begin///////////0===BBJC
TBUY(1, N, MKT, 0, 0, 账户1);
TBUYSHORT(1, N, MKT, 0, 0, 账户1, 品种2);
方向:=1;
COIN:=1;
INJC:=C-CALLSTOCK(品种2, vtCLOSE, -1, 0); end //主平多 if COIN=1 and 方向=1 and (NEWJC>=(INJC+BBZY*MINDIFF) or NEWJC<=(INJC-BBZS*MINDIFF) or 平仓时间) then begin
TSELL(1, N, MKT, 0, 0, 账户1);
TSELLSHORT(1, N, MKT, 0, 0, 账户1, 品种2); end //主开空 if 差值<(SSJC*-1) and 开仓时间 and COIN=0 then begin//////0====SSJC
TBUYSHORT(1, N, MKT, 0, 0, 账户1);
TBUY(1, N, MKT, 0, 0, 账户1, 品种2);
方向:=0;
COIN:=1;
INJC:=C-CALLSTOCK(品种2, vtCLOSE, -1, 0); end //主平空 if COIN=1 and 方向=0 and (NEWJC<=(INJC-SSZY*MINDIFF) or NEWJC>=(INJC+SSZS*MINDIFF) or 平仓时间) then begin
TSELLSHORT(1, N, MKT, 0, 0, 账户1);
TSELL(1, N, MKT, 0, 0, 账户1, 品种2); end |
-- 作者:yukizzc -- 发布时间:2019/12/19 13:49:25 -- 昨收:CallStock(stklabel, vtCLOSE, 6, -1); 这里不能省品种代码 TSELLSHORT(1, N, MKT, 0, 0, 账户1,品种1); 这种不也不要去省。 另外关注下条件,自己用debugfile输出下条件看下为何都不满足,你自己最高一个最简单,a品种价格大于b品种就开单,然后看下自己操作上有没有问题 如果没问题有测试结果,那说明你上面代码就是条件问题条件问题必须自己去输出看下
|