devalpha-node
devalpha-node copied to clipboard
Feature: Allow external async calls into strategy
This Pull Request allows developers to use external async calls into "strategy". This feature is useful every time you need to get external async informations (external signals) when "strategy" has been called. After you get your async informations you can trigger "next(action)" from strategy
Pull Request Test Coverage Report for Build 92
- 2 of 3 (66.67%) changed or added relevant lines in 1 file are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage decreased (-0.003%) to 98.0%
| Changes Missing Coverage | Covered Lines | Changed/Added Lines | % |
|---|---|---|---|
| lib/index.ts | 2 | 3 | 66.67% |
| <!-- | Total: | 2 | 3 |
| Totals | |
|---|---|
| Change from base Build 91: | -0.003% |
| Covered Lines: | 448 |
| Relevant Lines: | 457 |
💛 - Coveralls
This is definitely something I'd like to have (although I would probably prefer using async/await rather than callbacks).
However, my experience is that there are quite a few hidden little details which makes it harder to implement than it might seem at first. One must consider where events should be buffered, whether or not all consumers can be asynchronous, if ORDER_PLACED and ORDER_FILLED are guaranteed to be run before the next data feed event is parsed when backtesting, and so on.
Furthermore, DevAlpha's heavy dependence on Highland also adds to the complexity. Have a look at the createStreamSorted function for example.
But as I said – I'd very much like to have support for this. I'm probably fine with any solution as long as we have thorough tests for the cases mentioned above.