以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  同一个预警多合约下单时,tremainqty的取值疑问  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=12616)

--  作者:阿火
--  发布时间:2012/6/25 15:56:23
--  同一个预警多合约下单时,tremainqty的取值疑问

同一个预警里,对多个合约下单。比如对股指07 和 股指08 下单

 

if07 开多5手  ,if08开空5手

wt=tremainqty(0,\'800988\',\'\');//最后一个参数为空,代表获取所有合约的未成交委托单数量

【下单】后,此时的tremainqty是10

接下来,如果if07完全成交,而if08并未成交,此时的wt取值会出错,wt=0,而非为5 。

 

因为我的代码只有在wt=0的情况下才会下单,而实际情况是if07完全成交而if08并未完全成交时,程序也会继续下单

相关代码如下:

globalvariable:abb=0;//abb用来控制前后2次下单的间隔时间

if not(islastbar) then exit;

wt=tremainqty(0,\'200222\',\'\');//最后一个参数为空

if tsubmit(0)>10 and wt>0.5 then tcancel(1,0);//10秒撤单

if wt<0.5 and abb=0 then begin

  //后台下单语句

  if cond1 then begin tbuy();abb=3;end

  if cond2 then begin tsell();abb=3;end

  ……

end

if abb>0 then abb:=abb-1;

 


--  作者:王锋
--  发布时间:2012/6/25 16:17:03
--  
wt=tremainqty(0,\'800988\',\'\');//最后一个参数为空,因该取的是当前合约的未成交单吧
--  作者:guotx2010
--  发布时间:2012/6/25 16:28:10
--  

返回指定帐户品种下商品委托方向的当日未成交委托单数量
用法:TREMAINQTY(N,AC,STOCK),N为委托方向.0所有方向;1开多;2平多;3开空;4平空; AC为帐户ID,为空表示针对所有帐户; STOCK为品种代码,为空表示针对所有品种.
该函数返回常数,并只只在国内期货平台交易有效
该函数依赖TBUY等交易语句或者在交易监控中的手工干预的成交记录。
所属函数组:后台程式化交易(专业版)

 

按照函数说明,应该是所有品种,如果楼主反应的情况属实,那么说明程序有bug


--  作者:王锋
--  发布时间:2012/6/25 18:34:11
--  
那应该是说明有误,下个版本会考虑更新
--  作者:阿火
--  发布时间:2012/6/25 21:13:38
--  

那要怎么样取得所有合约?

每个合约分开取,再相加?呵呵,明天试试


--  作者:阿火
--  发布时间:2012/6/26 9:50:00
--  

jywt 代表if07的未成交委托单数量

yywt 代表if08的未成交委托单数量

zzwt 代表tremainqty(0,ac,\'\')

wttm 代表tsubmit(0)

下单后if07立马成交jywt=0 ,if08没成交,yywt=5,但是zzwt=0 ,说明最后一个参数为空代表的是当前合约

但是wttm却一直为0,看来这个tsubmit也只是针对当前合约?

 

2012-06-26 09:42:59.827    下单: jywt=0 yywt=0 zzwt=0 wttm=0
2012-06-26 09:42:59.827    下单: jywt=0 yywt=0 zzwt=0 wttm=0
2012-06-26 09:43:00.171    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:00.812    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:01.468    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:01.796    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:02.452    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:02.780    持续: jywt=0 yywt=5 zzwt=0 wttm=0
2012-06-26 09:43:02.999    持续: jywt=0 yywt=5 zzwt=0 wttm=0

 

那么,

怎么样取得非当前合约的未成交委托单的委托历时?

 


--  作者:王锋
--  发布时间:2012/6/26 10:46:08
--  
你在后台里没有指定监控IF08合约?
--  作者:阿火
--  发布时间:2012/6/26 10:48:48
--  

没有,就监控if07

根据if07的条件,同时下单if07和if08


--  作者:王锋
--  发布时间:2012/6/26 10:51:12
--  
用 TISREMAINEX 指定判断IF08合约