来自一个 "傻瓜 "的问题 - 页 204

 

我试着翻阅hcc历史文件,以寻找兴趣。

结果发现,hcc二进制文件内的数据记录行以FileSeek(handle,15333,SEEK_SET)开始,看起来像

4字节int分离器

4个字节的数据时间

8字节的双开

8字节的双数 高

8个字节的双字节低电平

8字节的双倍数 关闭

1或2字节 int TickVolume

1或2字节的int Spread

和最多4个字节的音量

据我所知,最后两个或三个int的长度是由第一个Separator决定的。我只是不明白怎么会这样?你能告诉我如何确定1个或多个字节将是最后2-3个int吗?

 
ANG3110:

请给我一个提示...

我想我猜到了--分离器包含16字节代码的数据读取结构。如Separator=18385028,在第16位起的最低位4888811,即4字节,8字节....。1个字节。

情况似乎是这样的吗?

P.S. 这正是文件的读取方式,只是你必须在各天之间跳过189字节。

现在我明白为什么开发者不公开这些文件了。这不仅是与服务器同步的问题,而且似乎他们害怕在文件的结构和组织方面受到指责,就像真正的 "Woe from Wit"。他们太便宜了,无法添加Aski,但对于各种不同步的再保险,好吧,他们做了一整艘原子船 "Lenin"。我个人不理解所有这些变态的行为,也很难过。

 
ANG3110:
我现在明白为什么开发者不公开这些文件了。这不仅是与服务器同步的问题,而且似乎他们害怕被文件的结构和组织所责备,就像一个真正的 "Woe from Wit"。他们太便宜了,无法添加Aski,但对于各种不同步的再保险,好吧,他们做了一整艘原子船 "Lenin"。我个人不理解,并对所有这些扭曲的现象感到难过。

*.HCC文件是压缩的数据块,这意味着它们不适合直接阅读。

这些文件作为创建压缩工作时间的输入数据,被放置在/cache子目录下。

 
Renat:

*.HCC文件是压缩的数据块,这意味着它们不能直接读取。

这些文件作为创建未压缩的工作时间段的源数据,被放置在/cache子目录下。

雷娜特。他们为什么要把事情搞得这么复杂?这是否有道理?我不是程序员,可能误解了什么,但看一下条目的顺序实在令人毛骨悚然。对你自己的工作是否方便?

当然,实际上,我是在看是否可以覆盖hcc文件。但在看了它们的复杂性之后,我不想再进一步解析它们了。现在我正在看FXCM的模拟报价。但由于某些原因,历史只从10月开始。我在他们那里有一个账户,但没有加价与佣金。我多年来一直使用他们的API下载TS2的细目,我也一直在使用Asks。我想在MT5中实现它们,使我的测试更加真实。但现在我不觉得了。如果开发者不向我们提供hcc文件的完整结构,我们将不得不在MT4中使用脚本从可用的历史文件中用Askas读取真实数据进行测试。顺便说一下,FXOpen在MT4中直接给出了Askas的历史数据。这很好。遗憾的是它们不能在测试器中使用。但至少人们可以用脚本来测试它。

 
ANG3110:

为了兴趣,我试着看了一下hcc历史文件。

结果发现,hcc二进制中的数据记录行以FileSeek(handle,15333,SEEK_SET)开始。

在这前15333个字节里有什么,你能想出来吗?

ANG3110

我想我已经猜到了--分离器包含了16位代码中读取数据的结构。如Separator=18385028,在第16位起的最低位4888811,即4字节,8字节....。1个字节。
情况似乎是这样的吗?

嗯,看起来是这样的。事实证明,文件是逐块读取的,根据指定的分隔符来改变块的大小。

P.S. 这正是文件的读取方式,只是在几天之间你必须跳过189个字节。

这也是关于HCC的?

我注意到,这些日子真的是从 "头 "开始的。其中,人物的名字等都在其中。可能这顶帽子给出了一些关于这一天块中包含的数据的定量信息。


他们为什么要把事情搞得这么复杂?这是否有道理?
100%有理。要保存和存储传输的数据量。


PS

不要放弃这个话题,因为创建你自己的会议记录是非常有趣的。 当然,除非终端在与服务器的另一次同步中会覆盖它们。
 
不幸的是,hcc文件不能被改变--它们在同步时不可避免地会被覆盖。

我们有一个非常有效的压缩格式;如果没有它,网络流量将增加许多倍。
 
我在非俄语的Windows上工作,将MetaEditor的语言设置为俄语,但当我呼叫帮助(F1)时,弹出的是英语。你能告诉我是否还有什么地方需要改成俄文,这样帮助就会以俄文弹出。我在家里有俄罗斯的Windows,一切都很好。
 
paladin800:
我在非俄语的Windows上工作,将MetaEditor的语言设置为俄语,但当我呼叫帮助(F1)时,弹出的是英语。你能告诉我是否还有什么地方需要改成俄文,这样帮助就会以俄文弹出。我在家里使用俄罗斯的Windows,一切都很好。
看看目录,你那里有俄语的帮助文件吗?
 
Yedelkin:
再看一下目录,你那里有一个俄语的Handbook文件吗?
谢谢你为我的想法指明了正确的方向。我有一个文件 "mql5.chm"(英文)。我删除了它,并从我的网站上下载了 "mql5_russian.chm",激活了MetaEditor,然后是F1,以及俄语的帮助。
 
paladin800:
我在非俄语的Windows上工作,把MetaEditor的语言设置为俄语,但当我呼叫帮助(F1)时,弹出的却是英语。你知道吗,还有什么东西应该改成俄语,以使帮助出现在俄语中?在家里,我使用俄罗斯的Windows,一切都很正常。

在MetaEditor中改变语言后,你是否重新启动了它?

我们会检查的。