测试模型代码如下
tbuy(1,1,mkt,0,0,'614067');
sleep(5000);
tsell(1,0,lmt,close+20*mindiff,0,'614067');
aa:debugout('未成交数量%.2f',TREMAINQTY(0,'614067',STKLABEL));
17.11.30 13:38:39 RB00
TBuy 已成功触发下单操作 价格:0 数量:1
17.11.30 13:38:44 RB00
TSell 已成功触发下单操作 价格:4048 数量:0
17.11.30 13:38:44 RB00
未成交数量0.00
17.11.30 13:38:44 RB00
运行结束
17.11.30 13:38:49 RB00
未成交数量3.00
17.11.30 13:38:49 RB00
运行结束
17.11.30 13:38:54 RB00
未成交数量3.00
17.11.30 13:38:54 RB00
运行结束
明明只有一手平仓,debugout显示有3手?
平仓的指令是全平吧,tsell里面手数填的是0,, 当时是不是账户里有3手呢?
我当然不会犯这种小儿科的问题。。账户里清空持仓状态下测试的,未成交平仓当时是1手。
你按照模型测一遍就能看到问题了。
这个函数输出的结果是依据后台程序化监控中的交易明细,可以看下里面有多少手未成交单。如下图:

此主题相关图片如下:qq截图20171130142430.png
百思不得其解,看版主的解释该函数统计的是整个后台明细中未成交笔数的未成交单总和?顺便疑惑一下不知统计这个对于下单来说有啥意义。
再看看该函数自带的用法介绍举例:
TREMAINQTY(1,'351579',stklabel )
当持有1手未成交开多(开仓)时,此时返回值为1.
TREMAINQTY(4,'351579',stklabel )
当持有5手未成交空单(平仓)时,此时返回值为5
上一楼的两个概念重点区别我用划线出来了。
版主的意思是未成交委托单的(笔数)数量?
再仔仔细细看函数的举例明显是未成交委托单的(手数)数量嘛。
上图目前我持有的1手未成交平今单难道不能叫未成交委托单的数量?
无语。。。很失望。。
那后台函数有没有其他针对下了单未成交(部分成交剩余的未成交)的手数取值的函数?
用来撤单,再挂单。(不使用菜单提供的撤单追单功能)自己写更灵活。
这个没有办法,精细化根据订单去做撤单操作需要至少用到vba那块