I am trying to test the order flow for multiple strategy modules hosted in one instance of strategy agent on 1.5.0.
I notice that the execution reports for all orders are broadcasted to all strategy modules instead of sending back to the originated module,
i.e. the onExecutionReport method in one strategy module receives exec reports for other modules.
I suspect this behavior should be the same for strategy module hosted in separate strategy agent as well. Need further test on that...
Not sure if this behavior of exec report routing are implemented by design.
My question: is there any config in strategy agent or ORS to control the routing of exec reports so that we don't need to include logic in each module to filter out unnecessary exec reports?
I've verified that the execution reports are broadcasted to strategy modules hosted in other strategy agent instance under the same ORS as well.
So for independent strategies implemented in separate strategy modules, it appears that each strategy module needs to do filtering of the exec reports, probably by maintaining it's own order ids. Is that correct?
Another approach is probably to put implementation of multiple strategies into one strategy module. Is that recommended?
Either approach is fine, it depends on your specific requirements. I would tend to steer towards #1 and away from #2 to make your strategies easier to maintain in the long run.