MT5和速度在行动 - 页 43

 
Renat Fatkhullin:

下载了你的基准脚本+例子。

  1. 在本地电脑上--10分钟内清空

  2. 在一个多终端负载的虚拟化 VPS主机上8分钟内完成

  3. 物理 VPS主机上,在8分钟内加载了大量终端

谢谢,它看起来很酷!

测试是在一个全尺寸的2630终端上进行的,工作VPS终端使用的资源只是一小部分,其延迟也不可避免地低

使用了我们VPS 服务的工作主机。

我必须使用WinAPI来抑制桌面终端的食欲。

你的VPS。如果其他人有任何有效的建议,请告诉我。


亲爱的开发者,请具备将终端切换到最小资源消耗模式的能力,以便进行算法交易。

 
Renat Fatkhullin:

指定经纪人的服务器的名称,请

这并不是指经纪人的具体服务器。
它指的是在你建议的服务中选择平移测量。
也就是说,地图有时会显示比另一个经纪人的服务器更远的距离,尽管他们都在LD4。
,我不会说出具体的服务器进行比较,只是在通过这些服务器时,注意到这个奇特的现象。
一般来说,最好是有一个所有地点的清单供其选择。
但目前对AMPGlobalEU-Live和它的美国服务器感兴趣。

 
fxsaber:

谢谢,它看起来很酷!

但我必须使用WinAPI来抑制桌面终端的胃口。

由于终端机经常由于非常频繁的颠覆而使帧数高于PC游戏,所以显卡就成了最重要的因素。特别是在没有卡的vpscs上,整个负载都放在被扼杀的处理器上。

这就是为什么你在虚拟桌面上 最小化和禁用面板是正确的。

我们甚至在服务中砍掉了一半的终端代码,完全删除了可视化的内容。终端成为vpc控制器的执行附属物,只与它一起工作。

因此,对资源的要求要低很多倍。所有这些在关于VPS服务的文章中都有描述。

 
Renat Fatkhullin:

由于终端由于需要非常频繁的更新,往往比PC游戏有更高的fps,所以显卡的作用就凸显出来了。特别是在没有卡的虚拟机上,整个负载都放在CPU上。

这就是为什么你在虚拟桌面上 最小化和禁用面板是正确的。

我们甚至在服务中砍掉了一半的终端代码,完全删除了可视化的内容。终端成为vpc控制器的执行附属物,只与它一起工作。

因此,对资源的要求要低很多倍。所有这些在关于VPS服务的文章中都有描述。

这里是另一个关于你的VPS的问题。
在你的服务器上工作的mql程序是否有任何套接字限制?
是否可以从mql程序中独立连接到OpenAPI代理,而不是MQ API
还是只能用经纪人的账户工作?

 
Roman:

我还有一个关于你的VPN的问题。
在你的VPS上,mql程序的套接字操作是否有任何限制?
是否允许从mql程序连接到经纪人的OpenAPI,而 不是MQ API?
或者你的操作支持只与经纪人的账户相联系?

除了localhost/127.0.0.1的访问,对套接字操作没有任何限制。

在你的终端上设置的权限是继承的。

 
Renat Fatkhullin:

由于终端由于需要非常频繁的更新,往往比PC游戏有更高的fps,所以显卡的作用就凸显出来了。特别是在没有卡的vpscs上,所有的负载都放在CPU上,CPU被扼杀了。

那么,为什么不以20赫兹的速度快照刷新,从而减少帧数?反正视觉效果只需要人的眼睛就可以了。它不会注意到它是200帧还是20帧。

因此,你最小化和禁用虚拟机上的 面板是正确的。

不幸的是,你需要WinAPI来做到这一点。而且仍然没有学会如何关闭市场观察和工具窗口。请告诉我如何通过WinAPI做到这一点。

市场产品在第三方VPS上完全刹车了。不能进行自动最小化处理。定义图表的隐藏是一样的。另外,你不能用毫秒量化的类似物来代替缓慢的GetMicrosecondsCount。强加了一个粗略的GetTickCount(16ms),这对快照交易环境机制来说是太多了。

不是为了推销你的VPS服务,你这样限制它吗?我想这还没有关系。然而,它已经提出了计量和一些拐杖解决方案。

我们在服务中砍掉了一半的终端代码,并完全删除了可视化的内容。终端成为vps-controller的执行附属物,只与它一起工作。

因此,对资源的要求要低很多倍。所有这些在关于VPS服务的文章中都有描述。

可以使桌面终端更接近于自动交易,并通过MQL功能减少资源消耗。

告诉我,如果我在Market Watch(筛选器)中要求获得所有符号的tick历史,VPS服务会不会为每个符号存储128K ticks作为缓存?


没有。

bool CopyTicksClearCache( const string Symbol );
这样就可以在没有巨大资源的情况下只查询最新的ticks,从而忘记OnTick中的跳转。
 
Roman:

这并不是指经纪人的具体服务器。
它指的是在你建议的服务中选择平移测量。
也就是说,地图有时会显示比另一个经纪人的服务器更远的距离,尽管他们都在LD4。
,我不会说出具体的服务器进行比较,只是在通过这些服务器时,注意到这个奇特的现象。
一般来说,最好是有一个所有地点的清单供其选择。
但目前对AMPGlobalEU-Live和它的美国服务器感兴趣。

AMPGlobalEU-Live与伦敦的MetaTrader 4服务器在LD4上显示的ping为1.73ms。


但是,MetaTrader 5的AMPGlobalEU-Live(实际上最好是作为AMPGlobalUSA-Live来寻找),其物理平台核心位于芝加哥,实际上显示为19.53毫秒,因为我们最近的服务器在纽约。

特别是手动扫描了他们所有的点--最小是19毫秒。

我们将尝试在接下来的几天里把服务器放在芝加哥。还没来得及做。

 
Renat Fatkhullin:

AMPGlobalEU-Live与伦敦的MetaTrader 4服务器在LD4上显示的ping为1.73ms。


但是AMPGlobalEU-Live(实际上最好搜索为AMPGlobalUSA-Live),MetaTrader 5的物理平台核心在芝加哥,实际上是19.53毫秒,因为我们最近的服务器在纽约。

特别是手动扫描了他们所有的点--最小是19毫秒。

我们将尝试在接下来的几天里把服务器放在芝加哥。还没来得及做。

这一点我已经看到了一切,也分析了))
,如果你在芝加哥放一个服务器,直接放在奥罗拉,那里是交易所和所有供应商的所在地。

 

我不止一次看到过这样的情况:终端对CPU的负载率高达100%,以至于它对任何事情都没有反应。

然后我看了看日志,发现在OnTick中出现了狂跳的ticks。然而,如果我正确地编写一个EA,这种灾难性的情况不会影响交易结果。我具体分析了一下,一切都很清楚。

我想知道处理市场产品延误的机制有多普遍。我从未见过任何一次提到机器功率的运行。最小平移 - 是的。

 
fxsaber:

那么,为什么不以20Hz的速度快照更新,从而降低fps?反正视觉效果只适合人类的眼睛。它不会注意到它是200帧还是20帧。

因为有一群用户会跑来指责。

这是很直接的。

也就是说,事实上我们确实使用了小型跳板。


不幸的是,我们需要WinAPI来做到这一点。而且我们仍然没有学会如何关闭市场观察和工具窗口。请告诉我如何通过WinAPI做到这一点。

将所有窗口和应用程序本身最小化的MQL5功能是个好主意。我们会解决这个问题。

然而,如果一个人自己在VPS上 运行终端,他将强烈反对一切突然的最小化。如果他离开RDP会话,他可以而且应该自己最小化窗口。


市场-产品在第三方VPS上完全处于刹车状态。自动最小化是做不到的。定义图瞒天过海--类似的。另外,没有办法用慢速的GetMicrosecondsCount代替它的毫秒级量化对应物。一个粗略的GetTickCount(16ms)被强加,这对交易环境的快照机制来说是太多了。

你似乎什么都不明白。

不是GetMicrosecondsCount拖慢了你的速度,而是操作系统在为你被扼杀的vpska的任何线程量化CPU资源。对于你的UPU内部的任何功能、任何行动、任何程序。

好吧,当CPU外壳有20个(这还是可敬的)操作系统,每个副本有1500个执行线程时,没有一个CPU外壳可以公平地切分和分配资源。以8-16个核心为例,将其分配到20*1,500=30,000(三万个物理轨道)。


作为比较,我们的VPS主机有97个活动终端:只有3个333线程,只有205个进程 - 完全没有系统开销


这是我现在的工作电脑,用于比较 - 除了浏览器、一份MT5和几个非成本程序外,没有其他东西:3 876个线程处于活动状态



事实证明,有一堆终端的VPS主机比台式机运行得更经济。VPS有8个核心,桌面有128个。