As probably most of you know, time & sales is more difficult to read today than it was before. It's updating so fast and many big orders are shown as strings of ones etc.
There is basically two factors that make T & S unreadable without filtering:
1. After October 4 2009 reporting methodology of some instruments in CME was changed from "intention" basis to "all executions" basis. This means that instead of showing big market orders as one tick with big volume all filled limit orders will be shown instead (often between 10ms of each other). This easily fills T&S window with ones or other small orders effectively hiding the big market order in "noise".
More about this on this video: Is It Bots Or The Exchange Engine (
2. Many sophisticated big players are hiding their big market orders by using algorithms that break the big order down to many smaller suborders that are executed in almost immediate fashion.
It is obvious that T & S window can be made much more readable if those bursts of ticks can be aggregated to bigger "trades". It would be naive to think that if I aggregate trades in 10ms time period (like CME used to do (watch the video) -- with some modifications) would reproduce real (intention) market orders without errors. It won't but it is a nice approximation of what is happening.
This indicator does exactly that, it aggregates buys and sells separately in a certain time span and shows them as one trade with some extra information.
The columns of the indicator are organized like this:
Time AggregatedVolume Price
In case if there are multiple ticks in one order:
Time AggregatedVolume Price (start -> end in case of order pushing price) NumberOfExecutions DominantLimit
Dominant Limit is coming from an algorithm I developed to reveal the most important single tick volume in the current aggregation. It sums up all the different tick sizes and returns the one with highest sum:
Some examples:
1, 1, 1, 2, 4, 1, 1 => result 1
10, 10, 10, 35, 20 => result 35
5, 5, 5, 10, 15, 5 => result 5
The indicator can also give spoken output if you like that.
I'm not sure how I could've distributed this in a ninja-zip file to make it easy for you guys. I'm sorry about that.
Installation procedure:
1. Copy CustomTS.cs in C:\Users\jjyl\Documents\NinjaTrader 7\bin\Custom\Indicator folder
2. Tools -> Edit Ninjascript -> Indicator -> Open CustomTS
3. Right click anywhere in the code window, Select References, Add System.Speech.Dll found in your .NET Framework installation. For example C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\System.Speech.dll on my computer.
4. Compile
5. Open indicator in any chart and you will see a Custom T & S window popup
6. You have to leave this chart open in the background, otherwise the indicator wouldn't work
Some things to note:
-Calculate on bar close settings don't make any difference here.
-Aggregation is confirmed to be finished only after a buy (or sell) tick is received after the time span has elapsed. That causes slightly delayed ticks but this delay is most likely negligible on periods of busy market activity. Making the indicator automatically close aggregation periods without incoming ticks (without delay) would be quite difficult to implement and potentially resource intensive. I might do this in future though and see if it would work.