以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  后台持仓同步代码,部分品种不正常  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=144662)

--  作者:Ivan
--  发布时间:2016/12/14 10:37:50
--  后台持仓同步代码,部分品种不正常

 

cc88:=holding;

ac:=\'xxxx\';

buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1);
 

if cc88>0 then BEGIN
  if SELLHOLD>0 then tsellshort(1,0,mkt,0,0,ac);//,allowrepeat;
  if CC88>BUYHOLD then tbuy(1,CC88-BUYHOLD,mkt,0,0,ac);
  if CC88<BUYHOLD then TSELL(1,BUYHOLD-CC88,mkt,0,0,ac);
 end
 if cc88<0 then BEGIN
  if BUYHOLD>0 then TSELL(1,0,mkt,0,0,ac);
  if -CC88>SELLHOLD then TBUYSHORT(1,-CC88-SELLHOLD,mkt,0,0,ac);
  if -CC88<SELLHOLD then TSELLSHORT(1,SELLHOLD+CC88,mkt,0,0,ac);
 end
 if cc88=0 then BEGIN
  if BUYHOLD>0 then TSELL(1,0,mkt,0,0,ac);
  if SELLHOLD>0 then TSELLSHORT(1,0,mkt,0,0,ac);
  //MSGOUT(1,STKLABEL&\'无仓\');
 end

 

上面代码在监控的28个品种中,有几个品种就是不能正常同步,如白糖,焦炭,玉米和豆粕,用msgout都看到输出无仓位了,就是不能平仓,还是持有仓位,这是为什么呢?

 


--  作者:jinzhe
--  发布时间:2016/12/14 10:51:51
--  
没有图表交易代码的吗?那你不能直接用holding,会一直是0
--  作者:Ivan
--  发布时间:2016/12/14 10:57:49
--  

前面有图表的代码,或者引用其它其它策略的持仓:cc88:=cc1+cc2+cc3+cc3;

关键不是这个,是监控交易28个品种,有个别品种不能正常同步,看我上面提的几个品种,这个才是我的问题所在,用msgout,已经看到进出到这段平仓区域了,就是不平仓。


--  作者:jinzhe
--  发布时间:2016/12/14 11:07:49
--  
用户调试下持仓,代码的平仓条件不多,虚拟持仓判断和实际持仓判断都调试输出一下
--  作者:Ivan
--  发布时间:2016/12/15 9:45:19
--  

 thold:=BUYHOLD-SELLHOLD;

 MSGOUT(thold<>cc88,STKLABEL&\'实际持仓,buyhold多:\'&NUMTOSTR(BUYHOLD,0)&\' sellhold空:\'&NUMTOSTR(SELLHOLD,0)&\' 虚拟持仓cc88:\'&NUMTOSTR(cc88,0));

 

2016/12/15 09:35:12  M00实际持仓,buyhold多:0 sellhold空:40 虚拟持仓cc88:8
2016/12/15 09:35:13  M00实际持仓,buyhold多:0 sellhold空:40 虚拟持仓cc88:8
2016/12/15 09:35:15  M00实际持仓,buyhold多:0 sellhold空:40 虚拟持仓cc88:8
2016/12/15 09:35:16  M00实际持仓,buyhold多:0 sellhold空:40 虚拟持仓cc88:8
2016/12/15 09:35:21  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:30  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:31  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:33  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:34  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:36  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:37  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:39  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:35:40  HC00实际持仓,buyhold多:25 sellhold空:0 虚拟持仓cc88:26
2016/12/15 09:40:01  ZC00实际持仓,buyhold多:0 sellhold空:25 虚拟持仓cc88:15
2016/12/15 09:40:31  ZC00实际持仓,buyhold多:0 sellhold空:25 虚拟持仓cc88:15

 

看这几个品种,就是不正常开平仓,到底怎么回事呢?账户没有任何的未成交记录。



--  作者:wenarm
--  发布时间:2016/12/15 10:39:28
--  

1.你在你开仓位置,加调试代码看下具体情况。

2.抱歉,咨询下后台持仓同步有什么具体意义和作用吗?


--  作者:Ivan
--  发布时间:2016/12/15 11:24:06
--  
找到原因了,是除权的问题。