与其他tick指标不同,Ticks指标直接在主图表上显示历史信息,覆盖在每根K线之上。您可以清晰地看到“点差”历史,以及每根K线的形成过程。它还可以直观地展示当前实时K线的形成情况。

注意事项
由于该指标显示了图表上所有时间间隔的价格tick历史,视觉化的tick数量可能会达到数十万甚至数百万条。这种高负荷会导致指标运行缓慢。例如,在H1的最小比例下,显示的时间段可能会达到几个月。此时,指标的运行速度会变得非常慢,因为需要加载和显示数百万个tick。
如果您打算监控tick,建议使用较小的时间框架(TF)(例如M5及以下),并设置较大的比例,以便能够详细查看价格历史(如上图所示)。
这个指标来源于某个博客,并经过轻微修改,以解决数组溢出问题。我们添加了(几行代码)来填充LowAsk和HighBid之间的区域,移除了许多冗余内容,包括指标的OOP结构和未使用的mqh文件。
令人惊讶的是,这个指标(根本没有指标缓冲区)非常稳定。
其设计虽然不够优化,但这显然是因为在编写时,CopyTicks函数存在许多bug尚未修复。然而,它能够正确且相对快速地显示历史数据(还有很大的提升空间)。
通过iCustom和IndicatorCreate调用这个指标是没有意义的,因为它没有任何指标缓冲区。它仅用于历史数据的视觉化。事实上,它之所以被称为指标,仅仅是因为其主要功能是展示。
例如,类似于一个EA(专家顾问)。
#property strict #include <fxsaber\ChartObjects\ChartObjectTicks.mqh> CHARTOBJECTTICKS ChartObject; void OnChartEvent( const int id, const long& lparam, const double& dparam, const string& sparam ) { EVENTBASE::MyEvent(id, lparam, dparam, sparam); } void OnTick( void ) { if (::ChartGetInteger(0, ::CHART_FIRST_VISIBLE_BAR) <= ::ChartGetInteger(0, ::CHART_VISIBLE_BARS)) ChartObject.Visual(); }
也就是说,它仅仅使用了一种自定义类型的交互式图形对象。因此,矛盾的是,这个指标在技术上只是一种形式上的指标——MT程序的技术形式。
该对象的透明度级别可以在输入参数中设置。
这个指标是自足的,不使用任何标准库。
使用终端截图功能可能会遇到问题,因为截图可能与终端显示不一致。
该指标兼容MetaTrader 4,但当然,它不会显示任何内容(没有CopyTicks数据)。