Thanks jcl. I believe I understand all. I also believe the crux of our misunderstanding is your last sentence: "Preventing the opening of pool trades, but keeping virtual trades open ...". This is NOT what I suggested. I suggested rather than open new Real trades to instead close Virtual trades. This would also keep everything in sync.

If Virtual Hedging is not being used, then at the time one wishes to let a system terminate all (Real) trades are in place and all margin has already been committed at the broker. Margin=0 prevents any new (Real) trades and margin commitment.

My suggestion is it should be the same at the Real level even when using Virtual Hedging.

Might closing the Virtual trades rather than opening new Real ones give up some potential profit? Possibly. But perhaps not if the system has been running a while and might be at or near to expiring. It might actually prevent potential losses. Plus, this potential profit would need to be balanced against the additional margin used by new Real trades, the effect of that on the new version's execution against the same account, the (old) version continuing to run longer than it otherwise would have, & whatever else.

Please note also that closing the virtual trades is not really an option since the only way to do that is nuclear - Panic and close them all. There is no granular way to close only the ones that might have this problem.

The choice is of course yours. If you choose to leave the system as is, please at least add to the documentation something about this interaction to the effect that when Virtual Hedging is being used new Real trades can still be opened even when Margin=0.

Thanks.