以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 后台回测没结果的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=166649) |
-- 作者:zwdqx -- 发布时间:2018/11/23 17:46:17 -- 后台回测没结果的问题 |
-- 作者:zwdqx -- 发布时间:2018/11/23 17:49:04 -- 我的后台策略是固定间隔,想等周线运行结束开仓,所以加了个 WEEKDAY()=5 and CURRENTTIME>=145500,能不能这样写? if tj1 and tj2 and WEEKDAY()=5 and CURRENTTIME>=145500 and tbuyholding(0)=0 THEN begin tbuy(1,10000/close,mkt); end
|
-- 作者:zwdqx -- 发布时间:2018/11/25 14:25:41 -- 查到了,上面是有成交的。我用以下策略在1分钟线后台回测,得不到数据,不知道错在哪里,请帮忙看一下。 macd00:stkindi(\'\',\'macd.macd1\',0,6);
macd01:stkindi(\'\',\'macd.macd1\',0,6,-1); macd00z:stkindi(\'\',\'macd.macd1\',0,7); macd01z:stkindi(\'\',\'macd.macd1\',0,7,-1); macd02z:stkindi(\'\',\'macd.macd1\',0,7,-2); diff00:=stkindi(\'\',\'macd.diff\',0,6);//日macd值 diff01:=stkindi(\'\',\'macd.diff\',0,6,-1); zvol:callstock(stklabel,vtvol,7); zc:callstock(stklabel,vtclose,7); tj1:macd00z>macd01z and last(macd01z<macd02z,2,0) and macd00>macd01; tj2:zvol>1.1*ref(zvol,1) and zc>1.03*ref(zc,1) and zc<1.09*ref(zc,1); if tj1 and tj2 and WEEKDAY()=5 and CURRENTTIME>=145500 and tbuyholding(0)=0 THEN begin tbuy(1,10000/close,mkt); end if c>1.10*tavgenterpriceex(\'\',\'\') and tbuyholding(1)>0 then BEGIN tsell(1,0,mkt); end if c>1.07*tavgenterpriceex(\'\',\'\') and tbuyholding(1)>0 then BEGIN tsell(1,0,mkt); end if c>1.05*tavgenterpriceex(\'\',\'\') and tbuyholding(1)>0 then BEGIN tsell(1,0,mkt); end if (diff00<diff01 or c<0.96*tavgenterpriceex(\'\',\'\')) and CURRENTTIME>=145500 and tbuyholding(1)>0 then BEGIN tsell(1,0,mkt); end |
-- 作者:FireScript -- 发布时间:2018/11/26 9:33:52 -- 你是说后台回测没结果?你要想办法验证下开仓条件是否有触发。可以单独看下: tj1 and tj2 这个条件能否触发。我简单测试了几个品种,这个条件似乎比较难触发。另外你毕竟引用了日线数据,日线数据也额外补充下。 |
-- 作者:zwdqx -- 发布时间:2018/11/26 21:49:49 -- 开仓条件是有触发的,但是我想优化一下数据。回测没有记录。 |
-- 作者:zwdqx -- 发布时间:2018/11/28 2:48:14 -- 能帮忙看一下是什么原因没有回测记录吗? |
-- 作者:FireScript -- 发布时间:2018/11/28 9:43:05 -- tj2:zvol>1.1*ref(zvol,1) and zc>1.03*ref(zc,1) and zc<1.09*ref(zc,1); 1.你这里小引大引用的是周线周期,一旦不成立 在小周期K上整整一周内都不可能成立的。比如你是1分钟,而这个条件大周期上次成立是上上周,那么你小周期1分钟数据量至少要好几周的才行。这个量非常大 2.最主要的是你这个条件真的好难成立。 你可以把除交易代码之外的部分加载到图表上看看能成立多少次。 macd00:=stkindi(\'\',\'macd.macd1\',0,6); macd01:=stkindi(\'\',\'macd.macd1\',0,6,-1); macd00z:=stkindi(\'\',\'macd.macd1\',0,7); macd01z:=stkindi(\'\',\'macd.macd1\',0,7,-1); macd02z:=stkindi(\'\',\'macd.macd1\',0,7,-2); diff00:=stkindi(\'\',\'macd.diff\',0,6);//日macd值 diff01:=stkindi(\'\',\'macd.diff\',0,6,-1); zvol:=callstock(stklabel,vtvol,7); zc:=callstock(stklabel,vtclose,7); tj1:macd00z>macd01z and last(macd01z<macd02z,2,0) and macd00>macd01; tj2:zvol>1.1*ref(zvol,1) and zc>1.03*ref(zc,1) and zc<1.09*ref(zc,1); cond:tj1 and tj2; MSGOUT(cond,NUMTOSTR(BARPOS,0));//条件测试输出 你可以给出你的品种以及你说的条件成立的周期。
|