Q: Why does my 15-second chart from IB have less volume than the same chart in Ensign? When I refresh the Ensign chart from IB, the volume difference is corrected.
A: The higher volume bars in Ensign should be considered to be more correct than the IB chart, and here is why. IB is a sampled feed, meaning they do not send all ticks. The IB chart is charting the ticks seen and summing the tick volumes on those ticks. Ticks NOT sent, because it is a sampled feed, are totally ignored.
Ensign, on the other hand, compares the tick volume on the tick received with the change in total volume. Then they match, Ensign uses the tick volume value. When they differ, obviously some ticks were not sent and Ensign adds a filler tick with the needed tick volume to stay in sync with total volume. These inserted ticks with the missing tick volume are the source of the larger volume values shown in Ensign compared to IB.
When the tick database is refreshed, Ensign receives 1 second records from IB to work with and this erases the filler ticks with the missing tick volume. Thus the refreshed result looks more like the IB chart. The refresh has forced Ensign to miss the ticks that the IB chart missed. What Ensign is doing to account for missing volume in the live feed it better than what IB is doing. The chart Ensign shows with the inserted missing tick volume is MORE like the charts from other data vendor who send all ticks. It is recommended that refresh only be used when data is missing.
FYI, Ensign 10 does the same thing for the Yahoo Finance feed which is also a sampled feed. Ensign 10 watches the change in total volume to calculate the tick volume that must have occurred since the last tick was received.