In v.1.99.3 MaxRequests now works.

The reason for contractUpdate() not loading a chain in Trade mode was its placement in INITRUN.
This used to work up until v.196 (at least), but now I see a note in the manual that it should be called after Lookback. Nice to know...

So, now the problem is with getting FOPs to work with custom chains.
Again, I could retrieve prices for ES FOPs selected from a custom chain up until v.1.99 without any problem, but now contractPrice() only works if a chain has been downloaded from IB.

This reminds of the earlier issue with FOP symbol name, which also at first required a live chain download (or else was missing), but then was changed to extract the name from the Future symbol string and with addition of g->sContractSymbol could be even set directly.

Why can't we get back to extracting Exchange from the Future symbol string?
So that Zorro/IB plugin do not default to SMART?

OR what's the suggested way to use a custom chain in Trade mode for FOPs with exchange different from SMART?