为什么他们会想到把 include 文件放在有指示符的目录中,而不是 Include 文件夹中?
#include "HDiagsE.mqh"
而不是放在 Include 文件夹中?
从网站下载时,包含文件是在 Include 文件夹中打开的 - 我不得不将指标中的一行从
#include "HDiagsE.mqh"
替换为
#include <HDiagsE.mqh>
这样,初学者就不用费心处理目录,只需将所有文件扔到带有指示符的文件夹中即可。正如你所看到的,压缩包不提供解压缩文件夹的结构。
这样,初学者就不用费心处理目录,只需将所有文件扔到带有指示符的文件夹中即可。正如你所看到的,压缩包不提供解压缩文件夹的结构。
这也是初学者会中招的原因。具体步骤如下:点击包含的文件--下载并显示在浏览器底部--点击下载的文件--在 MetaEditor 中打开该文件(MetaEditor 已将包含的文件放入正确的包含目录)。
老实说,我希望看到不同的实施方式。绝对的一切:
1.没有在画布上绘制柱状图的实现(分别是,没有比较画布上图表和图形基元图表的更新速度)。虽然从逻辑上讲,如果您要在 MT5 图表上绘制水平直方图,至少应该指出这种绘制方法;
2.2. 为什么您只谈交易量?例如,我很想将您的指标用于实际交易量,但似乎我做不到!?
3.据我所知,所有图表都是按照 "价格/时间 "绑定构建的。没有提到像素绑定。以及在此基础上实现柱状图;
4.4. 关于这句话有一个问题:"之前有人顺便提到,在计算级别数时,将使用比将价格区间划分为给定级别数更好的方法"。为什么更好?1, 10 и 100?为什么不让用户自己设定级别数?
5.关于计时器:
- iTimer 参数包含计时器触发频率。触发时,将检查是否有新蜡烛生成,并执行必要的操作。我们可以将 PeriodSeconds(SourcePeriod)调用的结果放在这里。不过,默认值是一秒,这样做是为了更准确地确定新蜡烛出现的时刻。
为什么要启动计时器并花费额外资源来确定新蜡烛出现的时刻呢?这可以(也应该)在 OnCalculate() 中完成。而且无需每秒都调用 IsNewCandle() 函数(此外,它太重了);
6.6. 滚动图表时,图表会出现假象:
7.由于使用了新的 i 函数,所有这些功能都无法在新版本(1881 年之后)上运行;
8.代码完全没有注释--这完全是对那些试图自己修改代码的人的不尊重。如果你只打开文件而不加注释,你将花费大量时间来理解所有内容;
9.编译指标文件时会弹出警告。用户可能会有疑问;
10."不要忘记,所附指标仅用于演示和培训,不能用于实际交易。- 有趣的功能。在最后。为什么不能应用?
11."特别要注意的是,作为数据源的时间框架上不应有人工痕迹"。- 我也想听一听关于这一点的说明。我们说的 "人工制品 "是什么?
我差点忘了最重要的一点。如何保证所收集数据的正确性?你们没有使用 CopyTicks()。那又是如何验证所构建关卡的正确性的呢?
我相信这还不是问题的全部。
总的来说,在我看来,对于一篇教程文章来说,这是一个不成功的实现。对于初学者来说这很困难,而有经验的人则可以更快(更好)地编写自己的程序。
我将尝试一次性回答所有问题 ))
当然,这篇文章不太可能为有经验的开发人员提供一些根本性的新东西。根据我的理解和能力,所提议的代码可以自动完成构建此类图表的繁琐过程。我是在厌倦了范围超限等各种错误之后才决定这样做的。
我本可以将包含文件放在 include 文件夹中,但我决定不要把这个文件夹弄得太乱,因为每个人都想把包含文件放在这里)。
关于画布。我没有这样做是因为我对它没有什么新的看法。我之前写过很多关于在画布上绘图的文章,非常有用。我得出的结论是,这方面的内容已被充分涵盖。
以 Tick 卷为例。对于代码而言,重要的是传递几个数组,仅此而已。例如,我将使用此代码为多个加密货币交易所制作一个滚动条。
为什么没有像素绑定?这只是画布方面的问题。我回答了为什么没有画布。
为什么代码没有注释。已经注释过了,不过是为了与 Doxygen 结合使用。我不得不将其删除。而且我必须用英语注释,代码不会自动翻译,而我又不擅长翻译。使用谷歌不是最好的选择,它会翻译什么?
为什么不允许选择层数?这与文章的内容不符。文章就是这么说的。这篇文章讲的是绘制和管理图形基元数组,而不是编写指示器。开发人员将决定如何获取初始数据。在文章中,我认为这项任务是次要的,因此不太重要。使用此代码的工作指标很快就会出现在市场上,但不是在这里。
训练指标不能用于实际交易,因为它们取决于数据源的状态。在训练指标中,假定数据源处于完美状态。在生活中,情况并非如此。在生活中,时间框架也有漏洞,我在写 "人工制品 "时就想到了这一点。我从不在文章中附上可用于实际交易的指标,因为我认为这样做是错误的。
我在这里没有使用 CopyTick,因为我认为它没有必要。也许在画布上绘制超级精确的图表是有意义的,但在这种情况下,当使用相当严重的四舍五入时,就没有必要了。
我会试着一次性回答所有问题 ))
原来,你写了一个 "抽象的东西",它可以近似地工作,甚至可以在一个实际上并不存在的环境中工作。没有文字。
正如我在前面指出的那样,渲染也是歪歪扭扭的。为您的产品做了很好的公关。
所以,你写了一个 "抽象的东西",它能以一种近似的方式工作,甚至能在一种实际上并不存在的环境中工作。我无言以对。
而且,正如我在上文指出的,渲染是歪的。为你的产品做了很好的公关。
不,这行不通。
如果没有文字,你就不用写了。你肯定不知道自己在写什么。
不,没用。
如果没有文字,你就不用写了。你肯定不完全明白你在写什么。
这就是结局也许我并不完全明白,只是在这么大的标题下,我想看到比它更多的东西。祝你好运
新文章 MеtaTrader5 图表上的水平示意图已发布:
水平示意图在终端图表上并不常见,但在很多任务中仍然会用到它们,例如在开发显示特定周期的交易量或价格分布的指标时,当创建各种版本的市场深度时。 本文研究构建和管理水平示意图作为图形基元的数组。
我们拿一个众所周知的例子来看看这些示意图的外观:
下面是另一个示例。 由图形基元绘制的相同示意图:
在这种情况下,这是按天显示逐笔报价交易量分布的指标。 此示例非常清晰地揭示了开发者必须解决的任务:
再一次,我们应该注意到有若干图表,这在未来可令我们论述示意图数组。
以下是最后一个示例:
作者:Andrei Novichkov