If you're looking for a way to visualize tick history directly on your MetaTrader 5 chart, the Ticks Indicator might just be your new best friend. Unlike other tick indicators, this one overlays the tick history right on the main chart, making it super easy to see how the spread changes and how each bar forms in real-time.

A Word of Caution
While the Ticks Indicator is a fantastic tool for monitoring price changes, it does have a few quirks. Because it shows the tick history for all visible time intervals on the chart, it can accumulate a massive amount of data—potentially hundreds of thousands or even millions of ticks. This heavy load can slow the indicator down significantly. For instance, if you’re zoomed out to the minimum scale on the H1 timeframe, you might be looking at months of data, which can bog down performance.
To get the most out of this indicator, it’s best to stick to a smaller timeframe (up to M5) and zoom in a bit. This way, you can see the price action in detail without the lag that comes from loading too much data.
This version of the indicator has been tweaked from the original blog post, addressing issues like array overflows. We’ve also added some lines to fill the space between LowAsk and HighBid, and stripped out some excess code to streamline its performance. Surprisingly, it runs quite stable without any indicator buffers and still manages to provide accurate historical data fairly quickly.
Keep in mind that using iCustom or IndicatorCreate with this indicator is a bit pointless since there are no indicator buffers to work with. Its primary purpose is to visualize the tick history, and it’s categorized as an indicator simply due to its function of showcasing data.
For the tech-savvy among you, here’s a quick look at the code:
#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(); }
This indicator is essentially a custom interactive graphical object, making it more of a visual aid than a conventional indicator. You can also adjust the transparency level in the input parameters to better suit your preferences.
One last thing to note: capturing a screenshot using the terminal can be a bit tricky, as it might not accurately reflect what you see on your screen. And while it’s compatible with MetaTrader 4, keep in mind that it won’t display anything there since it relies on the CopyTicks function.
Happy trading, and may your charts be ever in your favor!
Related Posts
- Unlocking MetaCOT 2: Your Ultimate CFTC Indicator Toolkit for MT4
- Unlocking the Power of Master Tools for MetaTrader 4
- Visualize Current Trends Across All Time Frames with This MetaTrader 4 Indicator
- Unlock Trading Insights with Volume Profile + Range v6.0 for MetaTrader 5
- Mastering the MACD Candle Indicator for MetaTrader 4