这个似乎与你的策略有关吧,比如你在秒周期做交易,自然就很频繁。
此外,不知道你为何发单撤单,是否可以采取监控价位的办法,等碰到交易价位后再去发单
这个似乎与你的策略有关吧,比如你在秒周期做交易,自然就很频繁。
此外,不知道你为何发单撤单,是否可以采取监控价位的办法,等碰到交易价位后再去发单
恩 管理员的建议可以考虑 另外请教一个问题
在我这个案例中 造成金字塔高cpu占用并影响成交的因素究竟是:
1、频繁发单撤单?
2、以秒周期运行交易系统?
3、监控过多品种?
希望知道原因 并加以修正
频繁撤单发单并不会导致CPU占用过大
秒周期的数据来源于分笔数据,只要你只用当日分笔做计算也不会对CPU产生很大影响
监控品种比较多自然是影响CPU的很大因素,但11个品种应该还不是主要影响因素
主要影响因素是
1 采用了过多的数据参与计算,本例中你是否使用历史分笔
2 公式是否过于复杂,甚至包含未来函数,这个只能通过精简算法来提高效率
由于后台是预警方式工作,你确认是否因为选用了高频模式,这种模式会不断的去计算并检测信号,CPU占用自然是正常不过了
CPU的占用过大没有一个统一的标准,通常在后台交易时,CPU有些占用是正常的事情,只要不会因此导致分笔数据行情接收迟缓就应该不会影响到交易
我的系统不复杂 运行在秒k线上 不是用高频模式 系统用约80个周期k线收市价作为计算数据 真正用于计算代码只有4行 都很简单的(只用了ma max) 每个运算周期都会对11个品种进行发单和撤单和用到读账户信息的指令 我不知道是不是这个原因造成 昨天我在台式电脑(配置较高)上运行 这个系统运行在虚拟机上 真正实盘的系统运行在正常系统上 发现这个系统能运行 很快预警有3000多 后来发现它竟然影响到外面的系统交易 于是关了虚拟机的金字塔 外面就正常了 按道理虚拟机应该是完全分离才对(以前测试其他系统是没问题的) 我当时看了一下电脑的cpu和网络占用并不高。今天我把这个系统移到一台配置较低的笔记本上运行 直接接近死机状态
虚拟机的效率是非常低的,不建议你在上面运行金字塔,如果计算是单核的电脑,那么速度也是非常慢的