Quote from dazzwater:
It still can. Like I said it's best for your sub-components to be well-encapsulated, ie separated and hidden from each other. You've already done that by placing them in separate executables. All you need to do now is redesign the interfaces between QC->SES and SES->OMS so your executables communicate the way I described earlier. I'm assuming you're using price data files for QC->SES and messages for SES->OMS but the type of interface is irrelevant here.
I think I am a bit getting what you're saying now.
To clarify, all executables communicate using messaging, no files. QC->SES is alright, it's just a stream of quotes. SES->OMS should be SES<->OMS and I need State Pattern for that.
You said:
Perhaps coupled with the State pattern, ie store the relevant State variables (current price, position price, MA, etc) for each quote and pass the State object as a parameter to the Strategy subclass function to see if any order open/close/modify actions should be taken (different Strategy subclasses will make different decisions at this point)
-- meaning I have to pass the State object from OMS to SES which I cannot do because I am sending only text messages between executables. I can send a text message instead with the State variables from OMS to SES so SES will process the message and act accordingly. Is this what you mean?
Take in all of the quotes and trades...filter as needed, provide a separate "feed" for each service you need by filtering out what each service does not need. It seems you have done this