100: Add Perps collateral, leverage, value, uPnL and gross-exposure totals in EMC

This commit is contained in:
2026-10-24 17:53:30 +02:00
parent e0b69f6430
commit 828f01db7c
10 changed files with 154 additions and 9 deletions
+6 -2
View File
@@ -461,7 +461,10 @@ EMC viser **Position | Direction | Margin | Collateral | Leverage | Exposure | V
under den synlige rod **Perpetual Contracts**. Isolerede positioner har wallet → venue →
position; Phoenix Cross har wallet → venue → Cross → position. Positionens konto-ID
bestemmer identitet og tilhørsforhold, aldrig instrumentteksten. Wallets følger den
hidtidige konfiguration med Jupiter før Phoenix. Eksisterende foldestatus, markering og
hidtidige konfiguration med Jupiter før Phoenix. En venue uden positioner eller Cross-konti
skjules og vises igen, når der kommer indhold. Skjulte venues indgår fortsat i snapshot
og totaler; deres læsestatus findes på wallet-rækkens tooltip. En Cross-konto med kapital
holder derfor Phoenix synlig, selv uden åbne positioner. Eksisterende foldestatus, markering og
rækkeobjekter bevares; uændrede snapshots opdaterer ikke træet. Vinduesstart er 1100 × 600,
og smallere vinduer kan scrolle vandret, når kolonnernes minimumsbredder kræver det.
@@ -493,7 +496,8 @@ Beløb har tusindtalsseparator og to decimaler, leverage × og pris-uPnL et synl
Positiv uPnL er grøn, negativ rød, afrundet nul neutral uden negativt nul. De svage
Long/Short-baggrunde bevares; grupper har tydeligere skrift og ingen retningsfarve.
Tooltips forklarer definitioner, manglende værdier og sidste succesfulde læsetidspunkt.
Ved fejl markeres venue som retained eller unavailable; gamle tal beskrives ikke som nye.
Efter fejl markeres en synlig venue som retained; læsestatus for skjulte venues findes
på wallet-rækkens tooltip. Gamle tal beskrives ikke som nye.
EMC spørger hver miljøservice straks ved åbning og hvert tredje sekund uden at blokere
JavaFX-tråden. Skjul/luk stopper kun EMC-polling. Der er ingen sample-data, Refresh-knap,
+7 -5
View File
@@ -79,7 +79,9 @@ Each Evelyn process performs an initial background refresh, then waits 60 second
following each completed cycle. Jupiter and Phoenix are attempted independently for
each configured wallet. Successful results replace only that wallet/venue; failures
log wallet and venue and retain its last successful result. A valid empty result
replaces that venue's positions and account balances, preserving its group.
replaces that venue's positions and account balances. EMC hides the venue heading
when it has neither position rows nor Cross accounts; its read status remains in
the wallet tooltip and the scope still contributes to snapshot totals.
Funded Cross accounts remain visible when they no longer hold positions. Snapshot reads never fetch
external data; EMC's three-second polling remains unchanged.
@@ -87,10 +89,10 @@ Positions and prices are separate REST reads and can belong to different slots.
This is a periodic current-notional estimate, not an atomic exchange valuation.
A cycle's duration includes all sequential reads and request pacing before the
60-second pause (32 active markets need at least about 33 seconds for their reads). Failed
reads can leave old data visible indefinitely. The venue now shows `(retained)` after
a failed refresh, or `(unavailable)` before any successful read; cell tooltips include
the last-success time. Initial not-yet-read scopes show `(loading)` and cannot contribute
fabricated zero totals.
reads can leave old data visible indefinitely. A visible venue shows `(retained)` after
a failed refresh; cell tooltips include the last-success time. Childless venues are hidden,
with failed or pending first-read status available in their wallet's tooltip. Such unknown
scopes cannot contribute fabricated zero totals.
Trader PDA indices other than 0, streaming and position management are out of scope.