I am revisiting my efforts to set up a futures trading script, and getting some unexpected behaviour - I wonder if anyone can give me a hint? :

When running a backtest I get a strange inconsistency between the entry/exit prices announced in the log at the point the trade is opened/closed, and the values that end up in the final results.

E.g. for first trade of the run, testtrades.csv shows:
Name,Type,Asset,ID,Lots,Open,Close,Entry,Exit,Profit,Roll,ExitType
MyStrategy,Short,LH-FUT-19980715-,38709,250,1998-07-09 16:30,1998-07-10 16:30,53.22,53.22,-0.63,0.00,Reverse

i.e. identical entry and exit prices!

However, the relevant log messages do show the trade was entered and exited at two different prices:
[LH-FUT::SF38709] Short 1941@53.22 Bid 53.22 at 16:30:00 Thu
Com 4.85 Mrg 41331301 Net 0
...
[LH-FUT::SF38709] Cover % 250@52.32: -0.63 at 23:00:00 Wed
Opn 53.22 Cls 53.22 Spr 0.0 Slp -3272789.75 Rol 0.00 Com 4.23 Lif 1 Net -1941


So even though the log recognises entry @ 53.22 and exit @ 52.32, the "Opn" and "Cls" prices that ultimately get recorded are identical, and indeed the stats, chart etc all reflect this (i.e. the only pnl I see is cumulative commissions).

I am calling contractUpdate for every asset on each run(), is there something more I need to do to propagate the correct prices?