Four of our audits run on the same instrument across the same window, and the tester read a different amount of data in every one of them. Gold Snap was measured on 7,901,463 bars, Logan on 559,285, Gold Atlas on 280,941 and CryonX on 140,862. Same symbol XAUUSD, same window from 2003.05.05 to 2026.08.16, four different timeframes. The largest of those counts is about 56 times the smallest. None of them is more complete than the others.
Every audit publishes the count it ran on and, next to it, a coverage ratio. That ratio is the most misread number in the data quality block, because it looks like a completeness percentage and it is not one.
The engine takes the bar count out of the tester report, multiplies it by the length of one bar in minutes and divides the result by an expected minute count for the window. The conversion is a fixed table in the source, 15 minutes for M15, 30 for M30, 60 for H1 and 1,380 for a daily bar. The expected count is the number of weekdays in the window multiplied by 1,380, a constant the source names as the approximate trading minutes of an FX or CFD weekday rather than the full 1,440 of a calendar day. The audit stores all three numbers, the reported bars, the expected minutes and the ratio between them, together with a one line description of the method.
Two things follow immediately. The denominator is the same for every timeframe, so the ratio is comparable across our audits of one window. And the denominator is an assumption rather than a measurement, so the ratio inherits whatever that assumption gets wrong.
The four audits above share a denominator of 8,383,500 expected minutes, which is 6,075 weekdays at 1,380 minutes. Their published ratios are 0.9425 for Gold Snap on M1, 1.0007 for Logan on M15, 1.0053 for Gold Atlas on M30 and 1.0081 for CryonX on H1.
Read as credited minutes per weekday, those four ratios say 1,300.7, 1,381.0, 1,387.3 and 1,391.2. The market did not become busier when the chart got coarser. The same gold history is being credited four different amounts of trading time, and the difference between the first and the last is 90.5 minutes per weekday.
The reason sits in the numerator. A reported bar is credited its full timeframe length no matter how much of that span actually traded. An hourly bar that contains thirty traded minutes still counts as 60. On M1 that rounding cannot happen, because a minute either has a bar or it does not, so the M1 figure is the only one of the four that behaves like a completeness measure. On the coarser timeframes the count is closer to a bar census, and the ratio rises above 1.0000 whenever those full length credits add up to more than the 1,380 minutes the denominator allows per weekday.
That is why the highest coverage figures in our catalog belong to the hourly runs. Lizard and Adaptive Gold Scalper both publish 1.0081, the same value as CryonX, and all three read the same 140,862 hourly bars of gold. A reader who takes 1.0081 for a claim of complete data has been told something weaker than that, and a reader who takes Gold Snap's 0.9425 for a defect has been told something weaker too.
At the daily timeframe the arithmetic collapses into a plain sentence, because one bar is one weekday. Gold Trade Pro ran on 5,932 daily bars against an expected count of 8,390,400 minutes, which is 6,080 weekdays. That is a coverage of 0.9757 and it means 148 weekdays in the window produced no daily bar at all. Ultimate Breakout System, on a window ending five days earlier, publishes 0.9763 against 6,076 weekdays.
Those 148 weekdays are days on which no daily bar was reported. The engine docstring states that the weekday count carries no holiday model, so a weekday on which the instrument never opened is counted in the denominator all the same. The daily reading is therefore not a defect count. It is the distance between a calendar built out of weekdays and the days the instrument actually printed.
Two audits do not sit with their timeframe peers. Range Breakout EA with Range Filters is an M1 run like Gold Snap and publishes 0.9792 rather than 0.9425, on 3,405,218 bars against 3,477,600 expected minutes over 2,520 weekdays. Its window starts on 2017.01.01 instead of 2003.05.05. In credited minutes per weekday that is 1,351.3 against 1,300.7.
OilVector X is the other one, an M15 run at 0.9805 where the gold M15 runs sit at 1.0007. It differs from them in two ways at once, a window that starts on 2017.10.02 and an instrument that is not gold but XTIUSD. The audit does not attribute the difference to either one, and neither do we. What the pair does show is that these ratios travel with the window and with the instrument, so they compare within a group and never across one.
The ratio has exactly one consequence in the engine and it is worth knowing, because it decides who gets blamed for a late first trade. Below a coverage of 0.50 the audit classifies the run as a missing data head, raises a caution flag titled Window opens before the symbol's history, and states that the first trade date is therefore not evidence that the EA refused to trade the earlier window. Above that line the same late start is read as the EA's own silence and can go red.
In our catalog the gate has never been anywhere near closing. The lowest coverage we have measured is 0.9417, on the Quantum Titan M1 run, and the threshold sits at 0.50. Every late first trade in the catalog is therefore attributed to the robot rather than to the data, and that attribution rests on this ratio being right.
Of our 26 default audits, 22 carry the bar count and the coverage ratio. The four that do not are Waka Waka, Quantum Emperor, Pulse Engine and Market Anomalies EA, all four produced by engine version 0.2.0 before the field existed. Within the 22, Quantum Queen X and Quantum Queen publish the identical triple of 7,901,463 bars, 8,384,880 expected minutes and 0.9423, so the 22 records are not 22 independent readings.
Your own tester report carries the same Bars line in its settings block. The browser check is free.