我的交易系统中有这么一句开仓语句:
ENTERLONG:(ENLONGN OR IF(N=1,ENLONGX,0)) AND TBUYHOLDING(1)=0;
DEBUGFILE('e:\record22.txt',' cw=%.0f',TBUYHOLDING(1));
我将交易系统加载在"棕榈连续"上,设置的是映射到棕榈1409合约上.本来我是持有棕榈1409多头仓位的,但是发现TBUYHOLDING(1)返回0值,结果导致条件满足,再次开仓了!
2014-02-18 14:59:47.054 cw=0
2014-02-18 14:59:50.083 cw=0
2014-02-18 14:59:51.593 cw=0
2014-02-18 14:59:53.109 cw=0
2014-02-18 15:00:02.187 cw=0
[此贴子已经被作者于2014/2/18 15:07:13编辑过]
这个是返回你当前图表所看的品种的持仓,你图表是运行在棕榈连续对应的是05合约。
要指定品种映射看下TBUYHOLDINGEX 这个函数
你这个这么设计的话,存在一个不方便的地方,如果我想在连续合约上交易非主力合约,每个品种还得分别写一个交易系统
既然你交易下单可以直接映射到客户事先设置的合约上去,为什么不能在这里首先读取那里的设置信息,取不到再取当前主力合约呢?