Function getTotalClosed

Returns the total closed state of a position using costBasisAtClose snapshots.

Each partial in _partial stores costBasisAtClose — the running cost basis BEFORE that partial was applied. This avoids replaying the full entry history on every call.

Cost-basis replay (simplified): for each partial[i]: closedDollar += (percent[i] / 100) × costBasisAtClose[i] remainingCostBasis = costBasisAtClose[i] × (1 - percent[i] / 100) // entries added AFTER last partial add directly to remainingCostBasis remainingCostBasis += Σ entry.cost for entries[lastEntryCount..]

  • Parameters

    • signal: Signal

      Signal row with _partial and _entry arrays

    Returns { remainingCostBasis: number; totalClosedPercent: number }

    Object with totalClosedPercent (0–100) and remainingCostBasis (USD still open)