Yes, the real & virtual trades should match. However, in this case I don't believe they do - see below. Also, I've noticed in checking other asset examples that a number of bars can go by after a real close before the virtual trades are closed so the trades return to sync/match. All of this is without any manual closing - Z12 is the only thing closing trades.

In this case:

1) Start of Z12 1.44: VO:s 4; NET:S 4 - match.
2) Next the NET:S 4 was closed; but the virtual was not: VO:s 4; NET:S 0 - NO MATCH.
3) Next VO:s for 4 and NET:S for 4: VO:s 8; NET:S 4 - NO MATCH.
4) Next A2:l for 3 and NET:S for 1: VO:s 8, A2:l 3; NET:S 5 - MATCH.

Log PM'd that shows this. At 1st glance you might say the feature is working fine, because match has been restored. However, that assumes that in step 2 the virtual was not supposed to be closed by Z12 when it closed the real. This is what I don't understand: Why didn't Z12 close the virtual in step 2 when it closed the real?

If the virtual had been closed in step 2, step 3 would change to MATCH with 4 & 4, and step 4 would still be in match but with 4 shorts - 3 longs = 1 short and on the real side 3 Shorts being covered leaving 1 Short.

The feature you're describing is to keep the real trades in sync with the net of the virtual trades, and that's great. But the question here isn't that - it's whether the virtual trades that the feature depends on are correct.

Thanks.