程序化自动交易时是否可以自动开平? [文华财经]
- 咨询内容:
现在在手动下单时可以做到自动开平。
在程序化自动交易时,是否也可以做到自动开平呢?
比如说,有两个交易系统在运行,对同一个合约,第一个系统先建立起一手多单,此时第二个系统要建立一手空单,此时是否可以做到优先先把已经存在的多单给平了(而不是再新建立起一手的空单,这样是一手多单,一手空单),最终的结果是不持有仓位,这样的好处是不占用保证金。
- 赢顺技术人员: 模型与模型之间是独立的,不会相互影响的,所以无法实现您的想法。您可以把两个模型合并成一个试试,使用过滤模型,实现自动过滤。
- 赢顺客服: 以下是引用無為在2012-6-21 14:52:00的发言:
模型与模型之间是独立的,不会相互影响的,所以无法实现您的想法。您可以把两个模型合并成一个试试,使用过滤模型,实现自动过滤。关键是时间周期不同,不太好合并。现在在短周期里引用长周期好象是挺容易出问题的,运行的速度也慢吧。
程序化里自动开平可以不用是否是模型发出的指令还是手动发出的指令,它单纯就是要下买卖指令之前先判断一下当前是否有已持有跟现在指令相反方向的合约,如果有,就优先把现在持有的单子给平了就可以了。
至于在模型里该怎么记录现在的状态还是怎么记录,不影响。
- 网友回复:
您可以试一下跨周期,WH3采用了多线程处理,只要您的软件配置和网速有保证,是没有影响的。
目前在模型中无法实现您说的查询真实持仓的需求,您可以通过自学下单组件来实现。
- 网友回复: 以下是引用無為在2012-6-21 15:09:00的发言:
您可以试一下跨周期,WH3采用了多线程处理,只要您的软件配置和网速有保证,是没有影响的。
目前在模型中无法实现您说的查询真实持仓的需求,您可以通过自学下单组件来实现。
研究了一下下单组件,感觉下单组件大概是可以做到自动开平的。
比如说,现在交易系统1发出建某个合约的多单信号,而此时整体仓位中正好存在着这个合约的空单仓位(这个合约的空单仓位是通过手动或其它交易系统建立起来的),那么通过下单组件,可以优先先把这个合约的空单给平了,剩余的部分再建立起多单仓位来。
但现在问题也来了,当我在组群里把这个自动交易模组关闭后再重新打开,初始化仓位时因为实际持有的多单不足,就无法进行正常的初始化了。
初始化模组时对实际持有的仓位进行判断,这一点是否有必要?如果对同一个合约存在着多个交易系统(或存在着手工操作),且自动开平的时候,此时模组就无法进行初始化了。目前的程序化交易好象是只能支持不自动开平的情况。
再说一下多个交易系统合并成一个交易系统的问题。一个字,那就是感觉难。
先不说跨周期的情况了,在同一时间周期下,两个Autofilter的交易系统,
系统一,
A1,BK;
B1,SP;
C1,SK;
D1,BP;
Autofilter;
系统二,
A2,BK;
B2,SP;
C2,SK;
D2,BP;
Autofilter;
当这两个系统想合并成一个时,就无法再用过滤模式了,只能用非过滤模式。
因为如果改成以下的系统,就跟原来两个系统独立运行的结果不一样了。
A1 OR A2,BK;
B1 OR B2,SP;
C1 OR C2,SK;
D1 OR D2,BK;
Autofilter;
在目前的模型开发里,因为不能使用变量和循环语句,也缺乏象下单组件那样的WriteGlobal/ReadGlobal等可以记录和读写当前状态的函数,感觉两个或多个交易模型的合并比较困难。
对于上面提到的两个Autofilter的交易系统合并为一个非过滤的交易系统,如果有什么好的方法,请说明一下。
在模型的开发里,是否也能够提供象下单组件编程那样可以读/写信息的函数呢?
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)