关于MT5策略测试器的议论 - 页 9

 
Andrey Dik:

对不起,这是什么?价格过高?
我与专门的主机合作,可以在客户方便的地方托管VPS,NY4,LD4,所以价格昂贵但速度快(ping 0-1ms)。

价格过高就是价格过高。

玩转我们的VPS可视化器:有一个世界性的网络和基于所有MetaTrader经纪商的服务器拓扑结构的精确时间。

它的价格是10美元,所有的物理核心都可以使用。一个重要的澄清是,我们显示的是服务器协议中的净时间,而不是网络ping,后者几乎总是低于实际ping。

 
Yuriy Zaytsev:

你说的是从一个区域读历史--从一个文件夹读一组终端,历史没有变化,只是解决了没有问题。 关于可定制的映射早就知道了。

不是这样的,你从一个终端下载了历史记录,然后从其他终端引用了它--没什么大不了的...这不是问题所在。

你为什么要出尔反尔呢?:)))

还是你没有仔细阅读?不赌钱的情况下,唯一的办法就是陷入争论?尤里,你就像一个孩子,说实话。

 
Andrey Dik:

你看,尤里,是有解决办法的!而且你可以在MT公司里把它全部拿出来!

这只是MT的意识形态,它并不意味着运行终端的几份拷贝,所以没有访问单一数据库的任务。

你把100个终端的100个ticks写进一个文件......在一个时间点上。

瓦西里-索科洛夫


我曾经这样做过:https://www.mql5.com/ru/articles/1316#c4_1

很明显,如果没有DB,在没有dll的情况下,终端之间充分交换的唯一方法是锁定一个文件,并像这个锡一样竞争访问它。

有一些工匠通过WebRequest和中间服务器组织交易环境的同步(见市场中的交易复制者)。

很明显,所有这些都很慢,而且在用户的硬盘上抹了很多洞,但如果数据库没有给我们(也不会给我们),我们能做什么呢。

这一切都很清楚!

我们谈论的是一个标准的终端--它在一个点上收集刻度线......如果100个终端开始将相同的刻度线写入一个文件!会发生什么?

从映射的资源(文件夹)中读取一般历史记录是没有问题的。(而且这段历史应该是由一个终端形成的,而不是由100个终端同时形成的)

Andrey也许你把从一个普通的HISTOR中读出的数据和写到一个文件中的数据混在一起了?

 
Renat Fatkhullin:

价格过高是指不必要的高价。

玩转我们的VPS可视化器:有一个全球网络和所有MetaTrader经纪公司的服务器拓扑结构的精确时间。

它的价格是10美元,所有的物理核心都可以使用。一个重要的澄清是,我们显示的是服务器协议中的净时间,而不是网络ping,后者几乎总是低于实际ping。

当你需要设置一个EA时,你的主机是一个很好的具体解决方案,把它发送到主机上,然后忘记它。这类任务的最佳解决方案。

但不幸的是,当你需要多个终端相互访问时,它并不适合。这部分是因为MT终端不具备同时连接多个账户的能力。还有一些任务与您的VPS不兼容。

顺便说一下,你的VPS可视化工具被积极使用,很棒的东西。

 
Andrey Dik:

你为什么要出尔反尔呢?:)))

还是你没有仔细阅读?只是为了争论而不把钱押在争论上?尤里,你就像一个孩子,真的。

你给出了一个理智的答案!

如何将票据从工具中写入数据库!这应该以一条记录和一个ID存储在数据库中。

你有100个终端在做INSERT ...

 
Yuriy Zaytsev:

你把100个终端的100个ticks记录到一个文件中......在一个时间点上。

这正是我们正在谈论的问题!

我们谈论的是一个标准的终端--它在一个点上收集刻度线......如果100个终端开始向一个文件写入相同的刻度线!会发生什么?

从映射的资源(文件夹)中读取历史记录真的不是问题。(此外,这段历史应从一个终端形成,而不是从100个终端同时形成)。

安德鲁,也许你把从普通的HISTOR中读取--和写到文件中的内容混淆了?

我们不要装傻了,好吗?它没有胡须,但已经秃了。我说得很清楚--一个包含历史数据的共享文件夹已经创建,终端通过链接与之正常工作,访问没有问题。它确实节省了磁盘空间,而磁盘空间是非常有限的。
 
Yuriy Zaytsev:

你给出了一个理智的答案!

你如何从工具中写出票据到基地!这必须通过一个ID的一个条目存储在数据库中。

你有100个终端在做INSERT ...

你不想争论!我为什么要一遍又一遍地拼出一个相同的东西,而且是免费的呢!?

提醒和警告--你在为MT的发展采取错误和有害的立场。

 
Andrey Dik:
让我们不要让自己出丑,好吗?它不适合有胡须但已经秃顶的男人。我已经说得很清楚了--一个包含历史数据的共享文件夹已经创建,终端通过链接与之正常工作,完全没有访问问题。它确实节省了磁盘空间,而磁盘空间是非常有限的。

你有100个终端在同时写历史吗?

--

请不要让自己出丑--我们只是想要一个答案。

你将如何把票据从工具中写入数据库--它必须作为一条记录并以一个ID存储在数据库中。

对于这个工具,你有100个终端在同一时间向同一个表写INSERT ...

p.s.

我有一个解决方案--你的解决方案很有趣

 
Yuriy Zaytsev:

你有100个终端在同时写历史吗?

--

请不要让自己出丑--我们只想得到一个答案。

如何将工具中的TICK写进数据库--它应该作为一个ID的记录储存在数据库中。

你有100个终端在同一时间向同一个表写INSERT ...

我将为安德烈回答。如果我们是在处理文件,那么同时进行INSERT是不可能的。INSERT仅由首先获得文件访问权的线程执行。其余的将得到INVALID_HANDLE,无法写入。获得句柄的线程将能够检查其记录是否已经存在于文件中(假设我们知道如何确定每个记录的唯一性)。如果没有记录,我们就写,如果记录已经被人做了,我们就关闭这个句柄。

另一个问题是,同时让100个写作者和100个读者,至少是不理性的,可能会造成问题。如果可能的话,应该只有一个作家。在100个线程中找出指派给谁做作家也是很有可能的。

p.s.我们不会在十几页的篇幅里讨论竞争性地进入DBMS的问题。考虑到MQL中没有DB,我们也不会讨论这个讨论的主题。

 
Vasiliy Sokolov:

我替安德烈回答。如果我们是通过文件工作,我们不是在谈论同步INSERT。INSERT将只由首先获得文件访问权的线程完成。其余的将得到INVALID_HANDLE,无法写入。获得句柄的线程将能够检查其记录是否已经存在于文件中(假设我们知道如何确定每个记录的唯一性)。如果没有记录,我们就写,如果记录已经被人做了,我们就关闭这个句柄。

另一个问题是,同时让100个写作者和100个读者,至少是不理性的,可能会造成问题如果可能的话,应该只有一个作家。在100个线程中找出指派给谁做作家也是很有可能的。

这就是我的观点!而且

瓦西里,有可能从100个终端竞争文件,这是可以理解的。

你可以使用复制器将交易从一个终端复制到另一个终端的事实是另一回事。


问题是,终端本身(如果是MT4)在文件ticks.raw中写入ticks ...

但如果他试图一次写100个终端到文件{TERMIN}history\{broke}tisks.raw中,就会发生错误。

这就是我认为安德烈不明白的地方。


我可以听到理论上的沙发在安德烈身下再次吱吱作响。

p.s.

安德烈,你去买了一些沙发油吗?