文章 "MеtaTrader5 图表上的水平示意图" - 页 5

 

延迟只是优化的结果。第一个延迟发生在初始化过程中。如果指标(在 MT4 视频中)被设置为符号的某个时间框架,而该时间框架没有历史记录,或者历史记录不完整,那么历史记录上的图表可能无法绘制,或者绘制时出现错误。我已经观察到这种现象。请注意,指标可以设置在一个时间框架上,从另一个时间框架获取初始数据,并显示在第三个时间框架上。为了只在历史记录上绘制一次图表,并立即不出错,我们在 OnCalculate 中添加了一段代码,用于检查源数据是否准备就绪,然后跳过五次 OnCalculate 调用,以确保现在所有源数据都已准备就绪。为了不让用户认为指示器挂起,日志会显示 pass 1 ....、pass 2 等信息。第 2 次等。正如您所看到的,没有重新计算,对终端的负载很小。最后,只有最后一个图表被重新计算。这种情况每分钟发生一次。这种方式不好吗?也许吧。但我没有想到更酷的方法。

第二次延迟发生在图形元素由指示器而非终端控制的模式下。这样做是为了处理多个CHARTEVENT_CHART_CHANGE 事件 的发生。也就是说,当用户突然开始来回拉动图表时。如果我们试图在事件发生时对其进行处理,那么指标将无法处理各种构造,并会变得一团糟。这就是为什么当事件发生时,指标什么也不做,直接返回控制。但是当用户停止生成事件时,指示器会等待三秒钟,以确保不会再有新的事件发生,然后才会在新的位置重绘图表。只有一次是的,我们有延迟。但我们会诚实地发出警告,不会消耗不必要的资源,如果有疑问,我们会解释我们的立场。现在的情况是 )

第一种和第二种情况都没有必要表现出来。我自己不会做这些检查。但对于其他人,我必须这样做。如果我发现或有人提出更好的方法,我会立即开始修正。

 
请尝试通过 CCanvas 在图表上实现一个对象,如果您需要帮助,请发邮件给我,或者最好发邮件到我之前给您的联系人,因为我现在很少在这里))我主要用 Python 写作。
 
是的,我记得你的想法。我打算使用这种方法,并大致知道如何在开发的架构中建立这样一个图表。
 
我真的很喜欢它,但我无法让它工作
  • " 待售蜱虫量"
  • "待买股票数量"
  • "总交易量
如果您能帮助我
 
Enoir Heringer Da Silveira:
Мне действительно понравилось это, но я не мог заставить это работать.
  • "Объемыпродажклещей"。
  • "Объемы тиков для покупки"
  • "Всего тиковых объемов"
если вы можете мне помочь
В статье описан подход, сам принцип.Индикаторы не предназначены для конкретной работы. Они изготовлены только для демонстрации этого принципа.В Маркете есть Демо индикатор на этом принципе.Он распространяется бесплатно.Название можно увидеть в моем профиле.