About Strategy registration, on_bar timing, and scalability concerns in multi-strategy environments? #2754
-
I'm really excited to be learning from this project — after exploring many different trading frameworks over the past couple of weeks, this one feels like the fastest and most suitable for my needs so far. Due to connectivity restrictions in my region, I’m currently unable to connect directly to exchanges, so I haven’t been able to test any examples yet. However, I do have a few questions: 1. Strategy design After reading through all the example strategies, I noticed that most of them rely on relatively simple, first-level indicators. signal = KAMA30(delta_70(max(SMA_190, max(MFI_130, WMA_190)))) In this case, I maintain a time series like In the examples, indicators are registered using So my question is: how should I handle multi-level or composite indicators like this? Is there a recommended approach to register and update them properly? 2. I’d like to understand the
3. Strategy capacity under fixed hardware One of the most exciting aspects of this project for me is that it seems theoretically possible to run many strategies in rotation — for example, dozens or even hundreds of strategies per symbol. In practice, I may want to apply M strategies across N different contracts. Given this architecture, and assuming I run on a typical 4-core CPU with Python-based strategy execution:
Thank you very much! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi @daydayup789 Thanks for the feedback and for reaching out. I can provide some quick answers to some of the questions:
The platform capability is far ahead of where the docs are at, so there is a certain amount of digging around in code and discord threads to get up to speed on what's possible -- I don't think you'll find many limitations based on your questions though. I hope that helps! Some docs references: |
Beta Was this translation helpful? Give feedback.
Hi @daydayup789
Thanks for the feedback and for reaching out. I can provide some quick answers to some of the questions:
You could write your own custom indicator class which nests all required indicators. We don't have first-class support for that kind of chained functional approach at this stage. Indicators are really a specific type of user-provided code, so it's expected you would write the code for custom functionality such as this, its certainly possible though.
on_bar
is called when an internally aggregated bar closes -> emitted on the message bus -> and arrives at the actors handler, or when an externally aggregated bar is received and passed through the message bus to the dat…