挂EA服务器跑14台MT4终端,高峰期MT4假死,求高手指点优化 - 页 2

 
enbo lu:

14个MT4分别干啥用呢?

一台挂EA,其他用跟单。

我交易的货币对比较多,用跟单也是不行的,只要把过多的商品价格打开,一切白搭~
 
Xiangdong Guo:

内存太小了,加内存吧。

在市场观察里把用不到的品种全隐藏。

我自己的机器,4核,12GB内存,总计开 6 个 MT4/MT5 就感觉吃力了。


麻烦问一下,你的机器是云主机还是真实物理机哈?

 
Amy Liu:

麻烦问一下,你的机器是云主机还是真实物理机哈?

真实物理机。

当然,高峰期假死还有算法的问题,优化时尽量使用 H1 及以上时间帧,能在一次循环里完成的任务就不要多次循环。

尤其如果需要读写文件,不要边处理边操纵文件,而是要在处理前/后一次性读写文件。 

不过你的硬件配置确实低了点。 

 

你的代码需要优化。

试想一下,是否每个tick你都需要遍历一次5分钟K线、15分钟K线、30分钟K线、1小时K线?

在机器24小时运行的情况下,基于日K线的计算,每天只需要做一次!而不是每个tick做一次!基于1小时K线的计算(比如上一根已完成柱线所对应的MA、MACD值),每个小时只需要做一次!

以上,使用最后一柱的实时值时,的确需要每个tick都计算,但大多数情况下无此必要,反而会因为价格的短期窜跳而引发不利于赚钱的信号。

另外还有很多很多优化方法,可以大幅减少对CPU的占用,你需要自己去思考。

 
Xifeng Zhao:

你的代码需要优化。

试想一下,是否每个tick你都需要遍历一次5分钟K线、15分钟K线、30分钟K线、1小时K线?

在机器24小时运行的情况下,基于日K线的计算,每天只需要做一次!而不是每个tick做一次!基于1小时K线的计算(比如上一根已完成柱线所对应的MA、MACD值),每个小时只需要做一次!

以上,使用最后一柱的实时值时,的确需要每个tick都计算,但大多数情况下无此必要,反而会因为价格的短期窜跳而引发不利于赚钱的信号。

另外还有很多很多优化方法,可以大幅减少对CPU的占用,你需要自己去思考。



请教一下,EA能赚钱吗?
 
Amy Liu:

服务器配置如下:

1. 4核8G

2. 固态硬盘60G

3. 带宽3M

4. Windows2012 

该服务器跑了14台MT4终端挂EA,但是发现在交易密集时间(以GMT15:00为中心的前后四五个小时)MT4终端会发生很严重的交替间歇性假死现象。发生假死时:

1. CPU与平时基本一致,不到60%

2. 内存与平时基本一致,不超过40%

3. 磁盘响应时间与平时基本一致,不超过9毫秒

4. TCP连接数与平时一致,不超过50

5. 峰值入网流量425.66kbs(服务器读入),平时100左右

6. 峰值出网流量151.6711kbs(服务器发出),平时50左右

7.  MT4终端TCP延迟时间与非交易密集时间保持基本一致,都是在250毫秒左右为主,偶尔300毫秒出头

看起来假死状况与网络流量增大是有关系的,但是我的带宽有3M(峰值入网+出亡最高不到600kbs),请高人指点该如何优化,非常感谢!

工具-选项-图表 把 图表中最多柱数 改成可用的最小值。
 
enbo lu:

14个MT4分别干啥用呢?

一台挂EA,其他用跟单。

估计是14个不同的EA
 
Tom1234567890:


请教一下,EA能赚钱吗?
答案是肯定的。就是不好找。EA只是工具。真正决定赚损还是自身因素。
 
Amy Liu:

服务器配置如下:

1. 4核8G

2. 固态硬盘60G

3. 带宽3M

4. Windows2012 

该服务器跑了14台MT4终端挂EA,但是发现在交易密集时间(以GMT15:00为中心的前后四五个小时)MT4终端会发生很严重的交替间歇性假死现象。发生假死时:

1. CPU与平时基本一致,不到60%

2. 内存与平时基本一致,不超过40%

3. 磁盘响应时间与平时基本一致,不超过9毫秒

4. TCP连接数与平时一致,不超过50

5. 峰值入网流量425.66kbs(服务器读入),平时100左右

6. 峰值出网流量151.6711kbs(服务器发出),平时50左右

7.  MT4终端TCP延迟时间与非交易密集时间保持基本一致,都是在250毫秒左右为主,偶尔300毫秒出头

看起来假死状况与网络流量增大是有关系的,但是我的带宽有3M(峰值入网+出亡最高不到600kbs),请高人指点该如何优化,非常感谢!

最好搞个同样配置的云服务器,效率要高很多,而且挂EA的时候,不要开启程序界面。
 

楼上正解.

这是经过测试, 单机多MT4终端效率很差, 如果可以的话, 建议分别在多台服务器上运行, 每台机子的配置都不需要太高.

另外, 隐藏用不到的货币兑是必须的, 否则流量会增大, MT4反应也慢.