Mt5的EA运行时竟然占用计算机39%的CPU,这是什么原因?

 

我的计算机cpu是 intel i9-9900K的,跑其它软件的策略一般占用 cpu 都在10%一下。

跑MT5的EA为什么会占用这么高的cpu?

应该如何解决?

 
tygk:

我的计算机cpu是 intel i9-9900K的,跑其它软件的策略一般占用 cpu 都在10%一下。

跑MT5的EA为什么会占用这么高的cpu?

应该如何解决?

EA写的不规范,指标重复计算,OnTime时间设置过短等

我有一台VPS是腾讯云2.4G那款,跑了4个MT5,挂了40多个EA,也没有性能问题!


 
Xiaoyu Huang #:

EA写的不规范,指标重复计算,OnTime时间设置过短等

我有一台VPS是腾讯云2.4G那款,跑了4个MT5,挂了40多个EA,也没有性能问题!


OnTime时间在哪里设置? 

 
tygk #:

OnTime时间在哪里设置? 

 EventSetTimer

EventSetMillisecondTimer

在代码里




 
Xiaoyu Huang #:

 EventSetTimer

EventSetMillisecondTimer

在代码里




代码里没有设置过 EventSetTimer 或  EventSetMillisecondTimer 。

应该设置多少比较好?

 
tygk #:

代码里没有设置过 EventSetTimer 或  EventSetMillisecondTimer 。

应该设置多少比较好?

没有用到OnTimer就不是这个问题

有代码用分析历史数据功能跑一遍就知道哪里有性能问题了

 
是不是用了很多的循环遍历
 
tygk:

我的计算机cpu是 intel i9-9900K的,跑其它软件的策略一般占用 cpu 都在10%一下。

跑MT5的EA为什么会占用这么高的cpu?

应该如何解决?

mt5EA是多线程运行

程序一般分成多个模块,各模块都加上逻辑开关,只在需要运行的时候才运行.

代码写的时候尽量优化,减少不必要的运行,多写 ,用逻辑开关控制过滤哪些模块需要运行.

if(!bool) return;