我给他写道:"为什么不使用从 M5 到 M15 的分形呢?故事就是这样。
分形原则上没有快慢之分:)
在从头开始的两个小节形成之前,分形是不存在的,或者说是存在的,但它不是分形。

例如,您在前几篇文章 TestTrendADX 中使用的智能交易系统,如果在可视化状态下运行,只有在初始化后才会显示数据,然后就什么都不显示了。

如果这样做,就会开始显示当前条形图的数据和指标数据。
//+------------------------------------------------------------------+ //| 专家勾选功能| //+------------------------------------------------------------------+ void OnTick() { //--- //--- 在面板上显示当前条形图数据 DrawData(0,TimeCurrent()); }

但我不知道这样做是否正确。
例如,您在前几篇文章 TestTrendADX 中使用的智能交易系统,如果在可视化模式下运行,只有在初始化后才会显示数据,然后就什么都不显示了。
如果这样做,就会显示当前条形图的数据和指标数据6
我不知道我这样做对不对。
问题在于,OnChartEvent() 在 Expert Advisors 测试仪的可视化模式下不起作用,在指标中只有鼠标点击图表的事件才起作用。在您提到的测试指标中,面板会显示鼠标光标下的数据。也就是说,程序会跟踪光标位置,并从光标下的条形图向面板发送数据。在测试仪的可视模式下,您需要点击要在面板上获取数据的条形图。或者在 OnTick() 中获取数据,但只能从当前条形图中获取。
问题在于,OnChartEvent() 在 Expert Advisors 测试仪的可视化模式下不起作用,只有在指标中点击图表上的鼠标事件才起作用。在您提到的测试指标中,面板会显示鼠标光标下的数据。也就是说,程序会跟踪光标位置,并从光标下的条形图向面板发送数据。在测试仪的可视模式下,您需要点击要在面板上获取数据的条形图。或者在 OnTick() 中获取数据,但只能从当前条形图中获取。
所有问题都解决了,请重新阅读第一个主题。
事实上,要将信息输出到面板上,我只需要一个事件处理程序并在 OnTick() 中调用 DrawData() 就可以了。
谢谢,我一直在寻找最简单的面板来输出调试信息,因为通过 Comment() 进行可视化测试的速度会下降很多倍,而通过面板进行测试的速度就像没有它一样。
新文章 多交易品种多周期指标中的 DRAW_ARROW 绘图类型已发布:
本文将介绍如何绘制多交易品种多周期的箭头指标。我们还将改进类方法,以便正确显示箭头指标的数据,这些数据是根据与当前图表交易品种/周期不一致的交易品种/周期计算的。
我们继续讨论多交易品种多周期指标。本系列的上一篇文章介绍了多交易品种多周期指标。在本文中,我们将修改多指标类,使其可以与箭头指标一起使用。
箭头指标意味着其绘图缓冲区中的数据并非始终可用。该值存在于显示箭头的缓冲区中,而在其他时候,缓冲区中包含的是为其设置的空值。通常是 EMPTY_VALUE,但也可以将缓冲区设置为"空"且不会显示在图表上的任何值。可以使用这个函数:
其中,buffer_index 是要设置为空的缓冲区索引,而 empty_value 则是将为该缓冲区设置的 "空值"。
在多周期指标中,缓冲区充满了有间隙的数据,因此需要考虑到没有箭头的空值的存在,不要将这些空值输入到已经输入了非空值的图表柱中。否则,先前放置的箭头将被一个新的空值擦除。如果将在较低时间框架内计算的指标数据复制到较高时间框架内,就会出现这种情况。
让我举一个例子。М15柱形叠加在M5图表上:
这里我们看到的是 M5 图表的分形,需要将其安装到 M15 图表的柱形图上。
作者:Artyom Trishkin