Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add isolated increment methods #1091

Open
5 tasks
DaveSkender opened this issue Oct 12, 2023 · 1 comment
Open
5 tasks

add isolated increment methods #1091

DaveSkender opened this issue Oct 12, 2023 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@DaveSkender
Copy link
Owner

DaveSkender commented Oct 12, 2023

Implement incrementing scenarios to calculate the next indicator bar:

Internals

  • base increment1
  • observer OnNext() handler

1 uses cached data instead of inputs

Public APIs2

  • base increment (system agnostic I/O), all needed inputs, appropriate TResult out
  • external cached (like observer handler, but using external data storage interface), consider cache-aside design pattern.

2 repoints internal cache, then uses internal base increment? this wouldn't perform well if provided data is re-written to memory, but am not sure how to handle CLR compliance otherwise with by reference.

Other considerations

  • static time-series implementation (see below)
@DaveSkender DaveSkender added the enhancement New feature or request label Oct 12, 2023
@DaveSkender DaveSkender added this to the v3 milestone Oct 12, 2023
@DaveSkender DaveSkender linked a pull request Oct 12, 2023 that will close this issue
26 tasks
@DaveSkender DaveSkender removed a link to a pull request Nov 24, 2023
26 tasks
@DaveSkender
Copy link
Owner Author

For the static non-observable time-series implementation, an approach to explore might be in the following form; though, it may need be IReadOnlyList or IEnumerable base.

public static class Ema : List<EmaResult>
{
    /* saved properties + minimal quote cache */

    /* new quotes */
    void Add(TQuote quote) { ... }

    /* throw simple exception when quotes arrive out of order */
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

1 participant