假设目前有3个期货账户,先不考虑计算机内存占用及网速等硬件造成的差异,3个期货账户的交易模型一模一样(账户资金、交易品种、仓位设定等参数全部一样)。
目前的自动化下单方式有:
A:每个账户各申请一个金字塔的标准版账号,分别登陆3个标准版金字塔各自进行图表程序化下单。
B:每个账户各申请一个金字塔的机构版账户,分别登陆3个机构版金字塔各自进行后台程序化下单。
C:只申请一个金字塔的机构版账户,分别针对3个期货账户写3个后台交易模型,登陆一个机构版,并启动3个后台交易模型(每个后台交易模型中指定交易品种、仓位、期货账户等参数)。
D:只申请一个金字塔的机构版账户,将各账户写入同一个后台交易模型,登陆一个机构版,只启动一个后台交易模型(该模型里面包含了3个期货账户的全部交易细节)进行后台程序化下单。
E:使用VBA自动化下单或其他下单方式。
A/B/C/D/E中,E先不考虑。
以简单的开盘价在5日开盘价均线之上平空做多之下平多做空模拟发现:
D 的下单速度最慢,3个期货账户之间的时间延迟最长,成交速度最慢,用MARKET市价下单的话3个期货账户的成交价格基本都不相同。
A和B的下单速度最快,3个期货账户相互之间互不影响,都是第一时间下单,成交价格也基本一致。
C的下单速度比A和B慢,比D快。3个期货账户之间有时间延迟,但差别较小,3个期货账户之中经常有2个期货账户的下单时间和成交价格是一致的。但是3个期货账户都在同一时刻成交的情况很少见到。
不知道我的模拟结果,是随机现象(电脑性能、网速、模型的写法有问题及模拟时间不长等造成的),还是本身就存在,D现象是由于多账户在执行下单时是一个账户一个账户顺序下单造成的?
如果问题存在,那请问有没有办法提高C和D的下单速度?特别是D?
D现象是由于多账户在执行下单时是一个账户一个账户顺序下单造成的。
下单时,不要使用ORDERQUEUE指令,保证仓位不超过50%就行了。
当然是C的效果最好,因为是会同时使用3个线程进行运行,比D理论上要快
D现象是由于多账户在执行下单时是一个账户一个账户顺序下单造成的。
下单时,不要使用ORDERQUEUE指令,保证仓位不超过50%就行了。
当然是C的效果最好,因为是会同时使用3个线程进行运行,比D理论上要快
谢谢版主。下单时没有使用orderqueue指令,仓位没有超过10%。但是是按着账户一段代码一段代码写的,每一个账户的代码都相当于是一个模块。
原来这里面还涉及到线程的概念,我是用笔记本做的模拟,本身性能就不是非常好,难怪了。
还有我昨天提的关于豆粕连续合约5分钟K线数据和日K线数据不同的问题,不知道为什么到现在还没人回复,请问有人去做了对比了吗?
明白了,谢谢!