101: EMC Perps - show Phoenix TWAP progress and time until next suborder

This commit is contained in:
2026-10-24 19:30:20 +02:00
parent 28640f3203
commit 2f30712004
21 changed files with 712 additions and 32 deletions
+16 -3
View File
@@ -444,8 +444,8 @@ og alarmer beholder deres afhængigheder og cache.
Servicen læser asynkront ved start og venter 60 sekunder efter hvert fuldført gennemløb.
Runder overlapper ikke og afhænger ikke af EMC's synlighed. Jupiter-overblikket bruger
ét REST-opslag pr. wallet. Phoenix bruger trader-state, metadata og én mark price pr.
unikt åbent marked. Begge har 10 sekunders request-timeout; Phoenix bevarer fælles
ét REST-opslag pr. wallet. Phoenix bruger trader-state, metadata, én mark price pr.
unikt åbent marked og ét TWAP-opslag, når der er positioner. Begge har 10 sekunders request-timeout; Phoenix bevarer fælles
pacing og 429-cooldown. En fuld opdatering tager opslagstid plus pausen, ikke nødvendigvis
ét minut. Implementeringens `close()` afbryder worker'en; consumer-API'et har kun læsning.
@@ -457,7 +457,7 @@ oprindelige succes-tidspunkt. Andre wallets/venues forsøges stadig. Et gyldigt
rydder den pågældende scope og kan totalisere nul; HTTP-/formatfejl kan ikke. En gyldig
Cross-konto med kapital bevares, selv om dens sidste position lukkes.
EMC viser **Position | Direction | Margin | Collateral | Leverage | Exposure | Value | uPnL**
EMC viser **Position | Direction | Margin | Collateral | Leverage | Exposure | Value | uPnL | TWAP**
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
@@ -468,6 +468,19 @@ holder derfor Phoenix synlig, selv uden åbne positioner. Eksisterende foldestat
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.
TWAP vises kun på en eksisterende Phoenix-position, når ordren selv har et faktisk
fill og resterende delordrer. Ufyldte ordrer opretter ingen rækker og vises heller
ikke på en position, som allerede fandtes. Progressbaren måler udførte delordrer;
teksten er estimeret resterende tid fra seneste TWAP-observation, fx `≈ 28:32:10`
eller `≈ 128:32:10`, uden timerollover eller live-nedtælling. Tooltip viser
`Estimated completion`, totalstørrelse, næste delordrestørrelse, fyldt mængde og
observationstid. Restordrer kan være mindre. Dollarstørrelser bruger samme Phoenix-
markpris som positionen og kræver ikke Ticker-priser; uden markpris bevares mængderne,
mens berørte dollarværdier og totaler bliver utilgængelige. En TWAP-læsefejl beholder
hele venue-observationen og viser `Retained` i cellen. Se
[TWAP-beregninger og begrænsninger](PhoenixPerps.md#twap-observations) for slots,
forfaldne tidsplaner og prisestimater.
Exposure er brutto: 100 USD Long + 100 USD Short giver 200 USD. Dollar-uPnL summeres
med fortegn. Collateral/Value tæller hver isoleret position og hver delt Cross-konto én
gang, inklusive ubrugt kapital på de inkluderede Cross-konti. Cross-positionernes