Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:委托单tremainqty函数有概率读取不正确

1楼
lanchongms 发表于:2014/2/14 9:54:36
后台交易,版本3.1正式版
代码
buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1);
wtb:=tremainqty(1,ac,stklabel);
wtbp:=tremainqty(2,ac,stklabel);
wts:=tremainqty(3,ac,stklabel);
wtsp:=tremainqty(4,ac,stklabel);

最小时间间隔不断轮询
2014-02-14 09:25:05.862     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.878     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.893     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.909     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.924     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.940     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.956     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.971     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:05.987     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.002     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.018     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.034     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.049     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.065     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.080     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.096     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.112     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.127     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.143     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.158     buyhold=0 sellhold=0 wtb=0 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.174     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.190     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.205     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.221     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.236     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.268     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.283     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.299     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.314     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.330     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.346     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.361     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600
2014-02-14 09:25:06.377     buyhold=0 sellhold=0 wtb=1 wts=0 wtbp=0 wtsp=0   time=92600

问题:
在9:24:59下1手多单后,一直到9:25:06.143,多单尚未成交(委托多单——wtb显示1),
但9:25:06.158,在多单尚未成交的情况下,读取到的委托多单(WTB)居然变成0了(红色部分),导致我错误的同步下单!
据我观察到,在下单后,每一新分钟的第6或第7秒,就会出现读取委托单不正常的情况。麻烦详细检查tremainqty函数

附带交易记录:
2014-02-14 09:24:59
13900XXX : IF1402 - 已报单 1 价格:2276.8 开 买

2014-02-14 09:25:06
13900XXX : IF1402 - 已报单 1 价格:2276.8 开 买

2014-02-14 09:25:44
03800XXX : IF1402 - 已报单 3 价格:2276.8 开 买
此记录证明在9:24:59~9:25:44期间没有做任何撤单动作,也没有任何单子成交,本人也没做任何手工交易,均为全自动。
2楼
lichenghu 发表于:2014/2/14 9:56:47

您好,对应在取得未成交单前面加个TACCOUNT( 2)判断下账户是否连接正常

 

如果账户连接异常取值会存在问题

3楼
lanchongms 发表于:2014/2/14 10:09:34
已经在下单前加了
If taccount2(2,ac)<>1 then exit;

但其依然在09:25:06根据委托仓位进行仓位调整,说明读取时候账户处于正常状态的~
4楼
lichenghu 发表于:2014/2/14 13:42:09

前面加个变量输出TACCOUNT( 2)的值,如果对应为255,说明账户连接异常

buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1);
a:TACCOUNT( 2);
wtb:=tremainqty(1,ac,stklabel);
wtbp:=tremainqty(2,ac,stklabel);
wts:=tremainqty(3,ac,stklabel);
wtsp:=tremainqty(4,ac,stklabel);
用DEBUGFILE输出A值
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 2 queries.