data1.a_sendorder不能正常发单

但需要在一个单元加载多个合约,并分别在data0,data1上发单时,data0.a_sendorder是正常的,但data1.a_sendorder不正常,显示不存在的价格和委托数量为零。

mypositiondata1sellpricedata1buyprice这两个要么全局变量/要么临时变量/要么普通变量加上Data[X]前缀

回复:否则,都是用的Data0的值要么无效值,要么是0,甚至被污染过的其他残留数据

回复:所以你会发现,Data0发单是正确的,Data1发单价格和数量都是0

那么你的代码是怎么写的呢

回复:else If(myposition<0) {//If(data0.a_buyposition>0)data0.A_SendOrder(enum_sell,enum_exit,data0.a_buyposition,data0sellprice); //If(data0.a_sellposition>0)data0.A_SendOrder(enum_buy,enum_exit,data0.a_sellposition,data0buyprice); If(data1.a_buyposition>0)data1.A_SendOrder(enum_sell,enum_exit,data1.a_buyposition,data1sellprice); If(data1.a_sellposition<Abs(myposition))data1.A_SendOrder(enum_sell,enum_entry,abs(myposition)-data1.a_sellposition,data1sellprice); else If(data1.a_sellposition>Abs(myposition))data1.A_SendOrder(enum_buy,enum_exit,data1.a_sellposition-abs(myposition),data1buyprice); }

回复:同样的代码在旗舰版正常运行快一年了

回复:你A函数也没填品种代码,下的什么合约呢?连续合约?消息中心截图有吗?你这个代码看上去就很不稳定

回复:data0,data1上的数据都是某个主力月份合约,myposition是读取本地数据库的数据计算得来,没有问题。为什么说不稳定?关键是在旗舰版上没问题,另外,只要把data0,data1的位置对调就能正常发单。

回复:发了单,但发的是委托量为0的单,用commentary看a_buyposition,a_sllpositioa_buyposition,a_sellposition,myposition,都正常显示,也就是说委托量不应该是0

回复:

回复:委托量肯定不能填0