文章 "在 MetaTrader 5 中创建和测试自定义交易品种" - 页 5 1234567 新评论 Andrey Azatskiy 2017.12.08 15:19 #41 fxsaber:从名称上看,有一个不同的函数。用 Replace 函数代替它并不真正理解 TicksAdd 的作用:抛出相应的 Tick 事件。我没有看到 TicksAdd,我认为它最初是 TicksAdd,但在与 RatesUpdate(既添加数据又删除数据)类比后更名为 TicksAdd,这样就不会有差异,而且他们也做对了。,我用 Replace 代替它是因为 Update 函数不起作用(如果执行脚本,会看到同样的情况,Common/Files 中的文件会在)。 。 附加的文件: m7g_fs06j_1hno19a_z0g8r.PNG 2 kb fxsaber 2017.12.08 15:27 #42 AndreyKrivcov: 我的 intellescence 无法看到 TicksAdd更新至 1700 版。 fxsaber 2017.12.08 15:30 #43 AndreyKrivcov: 但我肯定错了一件事--该函数可能可以工作,但无法记录我要求的所有刻度(我试图记录的刻度太多了)。它不是用来记录的。 关于交易、自动交易系统和测试交易策略的论坛。 Beta 版 MetaTrader 5 第 1700 版:MetaEditor 和合成工具中的项目 MetaQuotes Software Corp., 2017.12.05 14:22 终端:添加了为自定义工具抛出实时报价的功能。现在,您可以在 MQL5 中编写一个 Expert Advisor,该 Expert Advisor 将抛出给定自定义工具的任何报价。新的CustomTicksAdd 函数用于此目的。 。 int CustomTicksAdd( const string symbol, // 字符名 const MqlTick& ticks[] // 包含要应用于用户仪器的刻度线数据的数组 ); CustomTicksAdd 函数允许您翻译来自经纪商服务器的刻度线。数据不会直接记录到 ticks 数据库中,而是发送到 "Market Watch(市场观察)"窗口。在该窗口中,终端会将点数保存到数据库中。如果一次调用传输的数据量很大,功能会改变其行为以节省资源。如果传输的刻度超过 256 个,数据将被分成两部分。第一部分(较大的部分)直接写入刻度线数据库(如 CustomTicksReplace 所做的)。第二部分包括最后 128 个刻度点,传输到 "市场观察 "窗口,然后由终端保存到数据库中。 Discussion of article "Creating 轻松快捷开发 MetaTrader 程序的函数库 (第十六部分) 轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 Andrey Azatskiy 2017.12.08 15:35 #44 fxsaber:它不是用来记录的。可能是因为版本的原因,我现在用的是旧版本,对吧。但对我来说,我并不需要实时抛出刻度线,我只需要在测试器中使用它们,仅此而已。 fxsaber 2017.12.08 16:36 #45 AndreyKrivcov: 可能是因为版本的原因吧,我现在用的是旧版本。但对我来说,我不需要实时抛出刻度线,我只需要在测试器中使用它们,仅此而已。这就是 Replace 的作用。 Ivan Zaidenberg 2018.01.07 20:14 #46 导出刻度线历史记录时,CSV 文件的容量会大幅增加,其格式包含精确到毫秒的每个刻度线信息。根据这些数据,终端将生成分钟历史记录,并用于构建所有其他时间框架。同志们,我应该按什么键才能使终端从tick 历史记录 生成分钟历史记录? vestrub 2018.04.03 06:54 #47 日安 我请求您的帮助: 我每天都会将自定义字符写入 CSV("前天",持续时间为 24 小时)。 然后,我通过 CustomRatesDelete 删除历史记录中相应的部分(删除持续时间为 24 小时的 "前天")。 然后通过 ChartRedraw重新绘制图表。 结果,我期望看到的历史记录文件 ***.hcc 比删除部分历史记录之前的文件要小。 然而,它却一直在增长。 重新加载终端也没有任何效果。 如何才能节省历史数据的空间,并使其与图表中的数据相匹配? fxsaber 2018.04.03 07:13 #48 vestrub:因此,我希望看到的 ***.hcc 历史文件小于删除历史部分之前的文件。不过,它仍在继续增长。*.tkc 和 *hcc 的增长是一个长期存在的问题。也许他们会在新版中解决这个问题。 vestrub 2018.04.03 07:30 #49 fxsaber:*.tkc 和 *hcc 的增长是一个长期存在的问题。也许他们会在新版中修复这个问题。我的理解是否正确,节省磁盘空间的唯一选择将是 1. 将所有历史记录保存到 SCV。 2. 然后删除 *hcc,重启终端从头开始编写历史记录。 ? fxsaber 2018.04.03 07:41 #50 vestrub:我的理解是否正确?1. 将所有历史记录保存到 SCV。2. 然后删除 *hcc,重启终端从头开始编写历史记录。?这不是保存。CSV 一天占用的空间比 hcc 一周占用的空间还大。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
从名称上看,有一个不同的函数。用 Replace 函数代替它并不真正理解 TicksAdd 的作用:抛出相应的 Tick 事件。
我没有看到 TicksAdd,我认为它最初是 TicksAdd,但在与 RatesUpdate(既添加数据又删除数据)类比后更名为 TicksAdd,这样就不会有差异,而且他们也做对了。
,我用 Replace 代替它是因为 Update 函数不起作用(如果执行脚本,会看到同样的情况,Common/Files 中的文件会在)。
。
我的 intellescence 无法看到 TicksAdd
更新至 1700 版。
但我肯定错了一件事--该函数可能可以工作,但无法记录我要求的所有刻度(我试图记录的刻度太多了)。
它不是用来记录的。
关于交易、自动交易系统和测试交易策略的论坛。
Beta 版 MetaTrader 5 第 1700 版:MetaEditor 和合成工具中的项目
MetaQuotes Software Corp., 2017.12.05 14:22
。 CustomTicksAdd 函数允许您翻译来自经纪商服务器的刻度线。数据不会直接记录到 ticks 数据库中,而是发送到 "Market Watch(市场观察)"窗口。在该窗口中,终端会将点数保存到数据库中。如果一次调用传输的数据量很大,功能会改变其行为以节省资源。如果传输的刻度超过 256 个,数据将被分成两部分。第一部分(较大的部分)直接写入刻度线数据库(如 CustomTicksReplace 所做的)。第二部分包括最后 128 个刻度点,传输到 "市场观察 "窗口,然后由终端保存到数据库中。
它不是用来记录的。
可能是因为版本的原因,我现在用的是旧版本,对吧。但对我来说,我并不需要实时抛出刻度线,我只需要在测试器中使用它们,仅此而已。
可能是因为版本的原因吧,我现在用的是旧版本。但对我来说,我不需要实时抛出刻度线,我只需要在测试器中使用它们,仅此而已。
这就是 Replace 的作用。
同志们,我应该按什么键才能使终端从tick 历史记录 生成分钟历史记录?
日安
我请求您的帮助:
我每天都会将自定义字符写入 CSV("前天",持续时间为 24 小时)。
然后,我通过 CustomRatesDelete 删除历史记录中相应的部分(删除持续时间为 24 小时的 "前天")。
然后通过 ChartRedraw重新绘制图表。
结果,我期望看到的历史记录文件 ***.hcc 比删除部分历史记录之前的文件要小。
然而,它却一直在增长。
重新加载终端也没有任何效果。
如何才能节省历史数据的空间,并使其与图表中的数据相匹配?
因此,我希望看到的 ***.hcc 历史文件小于删除历史部分之前的文件。
不过,它仍在继续增长。
*.tkc 和 *hcc 的增长是一个长期存在的问题。也许他们会在新版中解决这个问题。
*.tkc 和 *hcc 的增长是一个长期存在的问题。也许他们会在新版中修复这个问题。
我的理解是否正确,节省磁盘空间的唯一选择将是
1. 将所有历史记录保存到 SCV。
2. 然后删除 *hcc,重启终端从头开始编写历史记录。
?
我的理解是否正确?
1. 将所有历史记录保存到 SCV。
2. 然后删除 *hcc,重启终端从头开始编写历史记录。
?
这不是保存。CSV 一天占用的空间比 hcc 一周占用的空间还大。