一个简单的后台程序化例子,前两天还能有交易型号,这两天都没有,是不是代码或哪有变动所以不能运行,
SD:MA(CLOSE, 10);
TSELL(MSPREAD <= -0.75*SD OR MSPREAD >= 2*SD,0,LMT,CLOSE,0,'','SQRB09');
TBUY(MSPREAD >=0.75*SD AND HOLDING=0,1,LMT,C,0,'','SQRB09');
TSELLSHORT(MSPREAD >= 0.75*SD OR MSPREAD <=-2*SD,0,LMT,C,0,'','SQRB09');
TBUYSHORT(MSPREAD <=-0.75*SD AND HOLDING = 0,1,LMT,C,0,'','SQRB09');
谢谢
1,手数写0是0手的意思,后台的0不是指全部资金。
2,限制商品盘中休息时间,你用debugfile在股指品种把开平仓条件输出看看是否成立
用了DEBUGFILE2
DEBUGFILE2( 'C:\Users\panshou04\Desktop\TEST.txt','SPREADclose: %.2f',SD,1);
DEBUGFILE2( 'C:\Users\panshou04\Desktop\TEST.txt','SPREADclose: %.2f',MSPREAD,1);
都有显示出正确的数值,很应该开仓的情况,用图表回测都是正确的,就是后台的不行,不知道为什么
不要用d2,一次显示很多历史数据会影响判断
按照上面的方法,用debugfile输出一下,看看哪个开仓或者平仓条件不满足导致的
我把他改成前天测试了下
测试摘要
测试品种数: 2
平均利润: 10.35 年回报率: 16.71%(18天)
交易次数: 1477 胜率: 60.19%
盈利交易次数: 889 成功率: 0.00%
年均信号数量: 0.00 年均交易次数: 29970.15次(14985.08)
盈利系数: 0.20 均盈利/均亏损: 1.17
夏普率: N/A MAR比率: 115.46%
最大连盈次数: 13 最大连亏次数: 7
最大连盈幅度: 0.08%(769.31) 最大连亏幅度: -0.04%(-402.25)
最大浮动盈利: 3.94%(1,008.85) 最大浮动亏损: -2.48%(-601.09)
最大单次盈利: 1.38%(338.89) 最大单次亏损: -0.95%(-232.23)
最大回撤幅度: 0.14% 最大回撤时间:
测试结果都没什么问题,但用后台的实实在跑就没有反应,不知道为什么
图表和后台不一样
后台出问题要按照上面的用debugfile来调试问题
图表的情况对于后台来说只是一个参考,调试才是后台解决问题的办法
用DEBUGFILE测了,是有结果的
2016-08-19 11:59:44.153 SPREADclose: -1.99
2016-08-19 11:59:44.154 SD: 3.09
2016-08-19 11:59:44.190 SPREADclose: -2.04
2016-08-19 11:59:44.192 SD: 3.07
应该是可以下单的