初始化过程中的ChartNavigate - 页 4 12345678 新评论 Dina Paches 2018.06.26 07:02 #31 Ihor Herasko:P./S.:为了以防万一,我想澄清一下,我没有开始看如果终端在很长时间后被加载会发生什么(即在终端被 卸载后应该会出现许多新的条形图)。 Dina Paches 2018.06.26 07:04 #32 Alexey Viktorov:迪娜,它对你有用吗?我已经挣扎了2-3个小时(就在今天,不算昨天的测试),试图得到一个不工作的OnInit版本,但没有结果。一切总是按部就班地进行。如果我把指标放在两个图表上并重新启动终端,它只在关闭和打开终端时处于活动状态的图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。是的,阿列克谢,这很有效。我在这里 写过这个故事。显然,它在我对其他帖子的引用中被视觉化了。 Ihor Herasko 2018.06.26 07:19 #33 Dina Paches:请告诉我,在卸下终端之前,你是否将图表重置为最近的价格? 不,我没有。因为这就是问题所在。让我详细地告诉你为什么这一切是必要的。交易员使用图表就像使用测试器一样。该指标在所谓的当前时间右侧隐藏了真实图表的一部分(事实上,这个时间是在历史上的某个地方)。按F12显示在线图表中的下一个蜡烛,等等。因此,就是在重新启动附有指标的 终端时,它也不会将图表位置返回到交易者完成研究的地方。结果他/她收到一个空图表,因为终端将图表重置为最后一个真实的蜡烛。而且,尽管终端是在一个完全不同的地方卸货。我为什么要问。 我使用了你的代码,看看它在我的情况下会如何工作。起初我以为我在复制你描述的问题。后来我明白了,它并没有。如果图表在被卸载前被恢复到最新的价格,那么当终端被加载时,它将按照代码工作。如果我不返回到卸载前的最新价格,图表将保持卸载前的状态。有趣的观察。我自己检查了一下,唉,没有什么变化。我仍然能得到最新鲜的重装材料的价格。 我建议你 "同步你的手表"。我在Build 1861上测试这一切。你的构造是什么? Ihor Herasko 2018.06.26 07:20 #34 Alexey Viktorov:迪娜,它对你有用吗?我已经挣扎了2-3个小时(就在今天,不算昨天的测试),试图得到一个不工作的OnInit版本,但都无济于事。一切总是按部就班地进行。如果我把指标放在两个图表上并重新启动终端,它只在关闭和打开终端时处于活动状态的图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。把它放在两个图表上。不幸的是,两者的工作方式相同--重新加载时显示的是最新的价格。 你有什么构造? Ihor Herasko 2018.06.26 07:53 #35 事实证明,这比我想象的还要有趣。把代码移到了OnCalculate(做了一个单一的触发器,而不是在每个tick 上调用它),但图片没有变化。也就是说,即使在OnCalculate中启动终端时ChartNavigate也不工作...... Dina Paches 2018.06.26 08:38 #36 Alexey Viktorov:...只注意到一个特殊情况:如果我把指标放在两个图表上并重新启动终端,它将只在我关闭和打开终端时处于活动状态的那张图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。我自己没有想到要这样试一试。现在做了这样的实验(也是在伊戈尔的代码的帮助下)。 在这样做的过程中,我设法最终......我再现了他描述的问题。 Dina Paches 2018.06.26 08:38 #37 Ihor Herasko: ... 我建议我们 "手表同步"。我在Build 1861上测试这一切。你的是什么?我也有1861年的。但感谢Alexey Viktorov,我成功地重现了你描述的通过OnInit()安装时的问题。/*在此之前,事实证明,我已经看到了你的帖子/。 行动的顺序。正如你在这里 描述的那样。I. 但在卸下终端之前,我把图表转移到最新鲜的价格。我在一个货币对的两个图表上设置了该指标,不同的时间段(GBPUSD M5和GBPUSD H1)。我的结果是这些实验的结果。1. 我首先在GBPUSD M5图表上设置指标,然后在GBPUSD H1上设置。之后,在将图表转移到新的条形图后,当GBPUSD H1图表处于活动状态(即较高的时间框架处于活动状态),我关闭了终端。在这样的条件下,如果我再次打开终端,当我打开时,在 你的代码所指定的条形图上,图表是移位的。然而, 如果我们用英镑兑美元M5的活动图表关闭终端(即较低的时间框架是活动的),然后重新打开终端,那么在终端加载后,两个图表上都没有发生移动。图表在新的条形图上打开。同时,对于其中一个,我得到了成功,而对于另一个,则是一个错误。test 2018 06 26 (GBPUSD,M5) Alert: Успешно test 2018 06 26 (GBPUSD,H1) Alert: Ошибка №4111 在进行第1 项和第2 项的实验时,在重启终端并看到结果后,我从图表中删除了这个指标,然后再次安装。 3. 当我做了同样的实验,但每次都没有重新安装指标,在重启终端后,重启终端后没有出现图表的转移。无论它是在较高或较低的时间框架内活动。图表在新的条形图上打开。信息与第2点 相同(成功和错误4111)。 II.此 外,我还试验了在相同的两个图表上同时安装该指标,但在卸载终端到新的条形图之前没有返回这些图表。我的结果是:如果我在一个较高的时间框架上收盘/开盘,较高时间框架的图表就是收盘前的位置。下面的那个(不活跃)是在最新鲜的地方。如果你在较低的时间框架上开盘/收盘,较低的时间框架就会在最新鲜的条上开盘。信息与2 中相同(成功和错误4111)。 III. 现在出现了以下问题。我忘了在安装指标前禁用图表的自动滚动功能。当我意识到这一点时,我删除了该指标并重新安装。在这次重设指标后,转变没有发生,但警报成功了。test 2018 06 26 (GBPUSD,M5) Alert: Успешно 但是,如果在重新安装 指示器之前,不只是现在,而是在一段时间后关闭自动滚动功能,就不会发现这个问题。 不知何故。听起来你应该写信给服务台。 Ihor Herasko 2018.06.26 09:20 #38 Dina Paches:它对其中一个给出了成功,对另一个给出了错误。这真是个惊喜!我还没有设法从ChartNavigate得到一个错误。但这是一件好事。 在问题的核心,显然,我开始明白发生了什么事。 当ChartNavigate()在OnInit()或OnCalculate()中被 首次调用 时,很可能所有的图表数据还没有来得及加载。然而,ChartNavigate()已经工作了,并且成功地工作了(在那一刻)。然后,数据被加载并显示在图表上,这导致图表完全重绘并转移到它的起点。结果是,我们看到的图表就像它根本没有被ChartNavigate()转移一样。 因此,为了成功转移图表,我们需要以某种方式确定图表数据将不再被显示(由于历史分页)。只有在确定这一事实后,才能调用ChartNavigate()。 Dina Paches 2018.06.26 09:56 #39 Ihor Herasko:... 因此,为了成功转移图表,必须以某种方式确定不再期望显示图表数据(由于历史分页)。只有在确定这一事实后,才能调用ChartNavigate()。你是对的,可能。当重新启动终端时,它可能变得相关。另外,在实验过程中,我对结合(或不结合)重设指示器来启用/禁用自动滚动感兴趣。这是我在本帖末尾 的第三块 描述的后果。但我还没有更详细地研究这个问题。我必须解决我自己的紧迫问题。因此,我将暂时放弃。 Alexey Viktorov 2018.06.26 10:01 #40 Ihor Herasko:把它放在两个图表上。不幸的是,两者的工作方式相同--重新加载时显示的是最新的价格。 你有什么构造? 关于交易、自动交易系统和策略测试的论坛 初始化时的ChartNavigate Alexey Viktorov, 2018.06.25 15:10 我也有1861年的。只设法复制了一次。所有其他的尝试都运作良好。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
P./S.:为了以防万一,我想澄清一下,我没有开始看如果终端在很长时间后被加载会发生什么(即在终端被 卸载后应该会出现许多新的条形图)。
迪娜,它对你有用吗?我已经挣扎了2-3个小时(就在今天,不算昨天的测试),试图得到一个不工作的OnInit版本,但没有结果。一切总是按部就班地进行。如果我把指标放在两个图表上并重新启动终端,它只在关闭和打开终端时处于活动状态的图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。
是的,阿列克谢,这很有效。我在这里 写过这个故事。显然,它在我对其他帖子的引用中被视觉化了。
请告诉我,在卸下终端之前,你是否将图表重置为最近的价格?
不,我没有。因为这就是问题所在。让我详细地告诉你为什么这一切是必要的。交易员使用图表就像使用测试器一样。该指标在所谓的当前时间右侧隐藏了真实图表的一部分(事实上,这个时间是在历史上的某个地方)。按F12显示在线图表中的下一个蜡烛,等等。因此,就是在重新启动附有指标的 终端时,它也不会将图表位置返回到交易者完成研究的地方。结果他/她收到一个空图表,因为终端将图表重置为最后一个真实的蜡烛。而且,尽管终端是在一个完全不同的地方卸货。
我为什么要问。
我使用了你的代码,看看它在我的情况下会如何工作。起初我以为我在复制你描述的问题。后来我明白了,它并没有。如果图表在被卸载前被恢复到最新的价格,那么当终端被加载时,它将按照代码工作。如果我不返回到卸载前的最新价格,图表将保持卸载前的状态。
有趣的观察。我自己检查了一下,唉,没有什么变化。我仍然能得到最新鲜的重装材料的价格。
我建议你 "同步你的手表"。我在Build 1861上测试这一切。你的构造是什么?
迪娜,它对你有用吗?我已经挣扎了2-3个小时(就在今天,不算昨天的测试),试图得到一个不工作的OnInit版本,但都无济于事。一切总是按部就班地进行。如果我把指标放在两个图表上并重新启动终端,它只在关闭和打开终端时处于活动状态的图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。
把它放在两个图表上。不幸的是,两者的工作方式相同--重新加载时显示的是最新的价格。
你有什么构造?
...只注意到一个特殊情况:如果我把指标放在两个图表上并重新启动终端,它将只在我关闭和打开终端时处于活动状态的那张图表上工作。在第二种情况下,不活跃的图表不起作用。但在我看来,这也是可以理解的,尽管收到了数据,但没有图表渲染,也没有图表本身。
我自己没有想到要这样试一试。现在做了这样的实验(也是在伊戈尔的代码的帮助下)。
在这样做的过程中,我设法最终......我再现了他描述的问题。
...
我建议我们 "手表同步"。我在Build 1861上测试这一切。你的是什么?
我也有1861年的。但感谢Alexey Viktorov,我成功地重现了你描述的通过OnInit()安装时的问题。/*在此之前,事实证明,我已经看到了你的帖子/。
行动的顺序。正如你在这里 描述的那样。
I. 但在卸下终端之前,我把图表转移到最新鲜的价格。
我在一个货币对的两个图表上设置了该指标,不同的时间段(GBPUSD M5和GBPUSD H1)。
我的结果是这些实验的结果。
1. 我首先在GBPUSD M5图表上设置指标,然后在GBPUSD H1上设置。之后,在将图表转移到新的条形图后,当GBPUSD H1图表处于活动状态(即较高的时间框架处于活动状态),我关闭了终端。在这样的条件下,如果我再次打开终端,当我打开时,在 你的代码所指定的条形图上,图表是移位的。
然而, 如果我们用英镑兑美元M5的活动图表关闭终端(即较低的时间框架是活动的),然后重新打开终端,那么在终端加载后,两个图表上都没有发生移动。图表在新的条形图上打开。同时,对于其中一个,我得到了成功,而对于另一个,则是一个错误。
在进行第1 项和第2 项的实验时,在重启终端并看到结果后,我从图表中删除了这个指标,然后再次安装。
3. 当我做了同样的实验,但每次都没有重新安装指标,在重启终端后,重启终端后没有出现图表的转移。无论它是在较高或较低的时间框架内活动。图表在新的条形图上打开。信息与第2点 相同(成功和错误4111)。
II.此 外,我还试验了在相同的两个图表上同时安装该指标,但在卸载终端到新的条形图之前没有返回这些图表。
我的结果是:如果我在一个较高的时间框架上收盘/开盘,较高时间框架的图表就是收盘前的位置。下面的那个(不活跃)是在最新鲜的地方。
如果你在较低的时间框架上开盘/收盘,较低的时间框架就会在最新鲜的条上开盘。信息与2 中相同(成功和错误4111)。
III. 现在出现了以下问题。
在这次重设指标后,转变没有发生,但警报成功了。
但是,如果在重新安装 指示器之前,不只是现在,而是在一段时间后关闭自动滚动功能,就不会发现这个问题。
不知何故。
听起来你应该写信给服务台。
它对其中一个给出了成功,对另一个给出了错误。
这真是个惊喜!我还没有设法从ChartNavigate得到一个错误。但这是一件好事。
在问题的核心,显然,我开始明白发生了什么事。
当ChartNavigate()在OnInit()或OnCalculate()中被 首次调用 时,很可能所有的图表数据还没有来得及加载。然而,ChartNavigate()已经工作了,并且成功地工作了(在那一刻)。然后,数据被加载并显示在图表上,这导致图表完全重绘并转移到它的起点。结果是,我们看到的图表就像它根本没有被ChartNavigate()转移一样。
因此,为了成功转移图表,我们需要以某种方式确定图表数据将不再被显示(由于历史分页)。只有在确定这一事实后,才能调用ChartNavigate()。
...
因此,为了成功转移图表,必须以某种方式确定不再期望显示图表数据(由于历史分页)。只有在确定这一事实后,才能调用ChartNavigate()。
你是对的,可能。当重新启动终端时,它可能变得相关。另外,在实验过程中,我对结合(或不结合)重设指示器来启用/禁用自动滚动感兴趣。这是我在本帖末尾 的第三块 描述的后果。但我还没有更详细地研究这个问题。我必须解决我自己的紧迫问题。因此,我将暂时放弃。
把它放在两个图表上。不幸的是,两者的工作方式相同--重新加载时显示的是最新的价格。
你有什么构造?
关于交易、自动交易系统和策略测试的论坛
初始化时的ChartNavigate
Alexey Viktorov, 2018.06.25 15:10
我也有1861年的。只设法复制了一次。所有其他的尝试都运作良好。