以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  重复开仓问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=6040)

--  作者:longbow
--  发布时间:2011/4/6 15:24:12
--  重复开仓问题

entertime:=currenttime>091000 and currenttime<145000;
exittime:=currenttime>145500;

buycond:=entertime and high >= highest;

buyshortcond:=entertime and low <= lowest; 

 
if tbuyholdingex(\'84408\',\'ZN06\',1)=0 and tsellholdingex(\'84408\',\'ZN06\',1)=0 and buycond then begin
 
   TBUY(1,sv,MKT,0,0,\'84408\',\'ZN06\');
end

 

今天利用tbuyholdingex,tsellholdingex判断是否持仓,交易的两个品种橡胶与锌,都在上午11:22:10出现了重复开仓的问题。

 

好像在这个时间点,tbuyholdingex读出的仓位是“0”,因此出现了重复开仓。

 

请问有没有其他的方法来稳定的控制不要重复出现开仓的问题?

 

 


--  作者:虫儿飞
--  发布时间:2011/4/6 15:32:21
--  
在语句最后加个TFILTER试试  过滤同种信号的
--  作者:王锋
--  发布时间:2011/4/6 18:11:10
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 参考问题15

解决方案参考以下两点:

1、使用走完K线模式运行模型,这样检测模型信号间隔时间较长,前面发出的开仓信号后有足够的时间成交

2、如果非要在固定轮询模式运行,请使用TTYPE函数,判断上一次开平仓类型,通过增加这个条件进行过滤。

 

TBUY(1 and ttype(1)<>1,sv,MKT,0,0,\'84408\',\'ZN06\');


--  作者:阿火
--  发布时间:2011/4/6 20:15:03
--  
楼上王锋兄好方法
--  作者:longbow
--  发布时间:2011/4/6 21:40:33
--  
谢了,明天试下。
--  作者:longbow
--  发布时间:2011/4/6 21:58:10
--  
ttype(1)是日内的吗? 如果不是日内的,引用的上日的话,那么表达的意义是不对的。 是默认账户吗?到底是那个账户,那个品种呢?这些有没有区分?
--  作者:admin
--  发布时间:2011/4/6 23:17:58
--  

你要是多账户操作,对于楼主新手用户,不要使用直接使用账户名字,而应该使用账户组。

此外多帐户下,tbuyholdingex等操作都是不建议新手用户的做法。


--  作者:longbow
--  发布时间:2011/4/7 8:06:00
--  

正版用户以及正式实盘都超过半年了,交易额相当大了,不能称为新手了。

 

关键是解决多账户下,突破系统如何避免重复开仓的问题:

 

1、突破系统,一旦满足突破的条件后,突破的条件总是满足,因此必须用另外的条件来判断避免重复开仓。

2、一般突破系统开仓后,都是利用仓位信息来判断是否重复开仓了。因此仓位的读取函数holding,tholding,tbuyholdingex,ttype等非常重要。

3、holding只能用在模拟中,tholding只能用在单账户、单品种中。

4、tbuyholdingex在绝大多数时间情况下是正确的,但是每天总有1-2次读出的仓位信息是错误的,造成每天1-2次的重复开仓。

5、dynainfo(4)\\dynainfo(5)\\dynainfo(6)好像也存在每天1-2次不正确的情况。

6、当然这种不正确很可能是网络断线引起的,断线的情况下读出的仓位是“零”,因此一旦账户接通,可能立即就对某些账户开仓了。

7、有时这种断线的情况可能造成只对某些账户开仓。因为只有这些账户是接通的。而后面的账户接通后,由于程序判断已经有仓位,反而不再开仓了,因此有些账户就没有仓位。

 

这都是实盘遇到的问题,在模拟的情况下是没有的,请尽快分析解决。


--  作者:z7c9
--  发布时间:2011/4/7 9:07:48
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=4611&page=1&star=1
--  作者:王锋
--  发布时间:2011/4/7 9:17:27
--  

还请楼主有点耐心的看看我前面帖子给你的回复,不清除你前面描述的重复开单问题的具体原因,但是本帖中你的重复开仓一定是我所说的情况造成

此外,楼主并不了解后台的运行机理,磨刀不误砍柴工,建议楼主看看 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4,使用一些调试手段来探索后台的运行机理。