vectie/moonfish/data does not have a README file

    MarketDataIssue

    pub(all) struct MarketDataIssue {
    kind : MarketDataIssueKind
    path : String
    message : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketDataIssueKind

    pub(all) enum MarketDataIssueKind {
    SourceMismatch
    SymbolMismatch
    TimeframeMismatch
    EmptySnapshot
    OpenBarPresent
    InsufficientClosedBars
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketFetchResult

    MarketFetchStatus

    pub(all) enum MarketFetchStatus {
    SnapshotReady
    AwaitingExternalSnapshot
    SnapshotRejected
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketRefreshAction

    pub(all) enum MarketRefreshAction {
    RunNow
    WaitForBarClose
    AwaitExternalSnapshot
    ReviewTimeframe
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketRefreshAction::label

    fn MarketRefreshAction::label(self : MarketRefreshAction) -> String

    MarketRefreshInput

    pub(all) struct MarketRefreshInput {
    request : MarketSourceRequest
    now_ms : Int64
    newest_bar_open_ms : Int64?
    head_bar_closed : Bool
    user_refresh_ms : Int
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketRefreshPlan

    pub(all) struct MarketRefreshPlan {
    request : MarketSourceRequest
    timeframe_seconds : Int?
    effective_refresh_ms : Int
    snapshot_cache_ttl_seconds : Int
    wait_seconds : Int
    action : MarketRefreshAction
    safe_to_request_snapshot : Bool
    can_run_analysis_now : Bool
    summary : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketSourceAvailability

    pub(all) enum MarketSourceAvailability {
    LocalFixture
    ExternalPlanned
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketSourcePlan

    pub(all) struct MarketSourcePlan {
    request : MarketSourceRequest
    source_id : String
    adapter : String
    raw_path : String
    availability : MarketSourceAvailability
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MarketSourceRequest

    pub(all) struct MarketSourceRequest {
    data_source :
    DataSource

    symbol : String
    timeframe : String
    limit : Int
    captured_at_ms : Int64
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    fetch_kline_snapshot

    fn fetch_kline_snapshot(request : MarketSourceRequest) -> MarketFetchResult

    ingest_market_snapshot

    fn ingest_market_snapshot(input : MarketIngestInput) -> MarketFetchResult

    market_data_issue

    fn market_data_issue(kind : MarketDataIssueKind, path : String, message : String) -> MarketDataIssue

    market_ingest_input

    market_refresh_input

    fn market_refresh_input(request : MarketSourceRequest, now_ms? : Int64, newest_bar_open_ms? : Int64, head_bar_closed? : Bool, user_refresh_ms? : Int) -> MarketRefreshInput

    market_source_request

    fn market_source_request(data_source :
    DataSource
    , symbol : String, timeframe : String, limit? : Int, captured_at_ms? : Int64) -> MarketSourceRequest

    plan_market_source

    fn plan_market_source(request : MarketSourceRequest) -> MarketSourcePlan

    prepare_market_refresh_plan

    fn prepare_market_refresh_plan(input : MarketRefreshInput) -> MarketRefreshPlan

    timeframe_seconds

    fn timeframe_seconds(timeframe : String) -> Int?