No announcement yet.

Multi-Robot Consolidator (completed)

  • Filter
  • Time
  • Show
Clear All
new posts

  • Multi-Robot Consolidator (completed)

    I thought I would share another completed EFS solution with all of you. One of my clients has a need to run multiple automated trading robots (systems) on the same symbol - with different intervals. I had just completed an update for him allowing specialized entry and exit order handling that allowed him to scale his entries and exits. This order handling feature worked perfect except for the fact that we started getting interesting messages from the eSignal Account Manager. At some point, it would tell us "you can't place an order for more than you are currently holding" when trying to EXIT or REVERSE positions. I had to think about this one and what would be causing it...

    Then I realized that I was working a GO FLAT order and a new ENTRY order at the same time. The GO FLAT order may have been for 300~3000 shares while the new entry order may have been for 50~100 shares. Thus, the multiple robots could FILL the new entry order (because it was easier to fill with lower share amounts) than it could FILL the exit orders. In essence, screwing up the entire order processing structure and resulting in this error message.

    I thought of just waiting till the GO FLAT orders completely filled, but that could take MINUTES to complete and the multiple robots could all be EXITING and REVERSING at the same (or similar) times. So that was not a proper solution. All it did was complicate the process.

    The solution was a CONSOLIDATOR. A central process that read the expected trading positions from the other robots and consolidated a position total. Once the consolidator was built and worked, all I needed to do was build similar advanced order handling features to support the consolidated position. In other words, if we are trying to move around large numbers of shares, we need to address the QTY in a way to improve our pricing/fill rates.

    The result is I have built a consolidator for his robots that can handle 25 robots at one time, manage all the consolidated positions and includes advanced order handling for entries, exits and reversals.

    I would offer this as a hint to anyone trying to accomplish a multi robot deployment on a single symbol - seriously think about building a consolidator process that handles all the trading activities for the multiple robots. It appears this is the only solution that actually works well enough to prevent errors and hours of coding.

    Again, great work eSignal team. I have not run into an automation issue that I could not "code a fix" for.