API-Positions-Updates & Mark Price Stream
Zusammenfassung
Propr kündigt Änderungen an Live-Positionsdaten für API-Entwickler an: position.*-Events feuern nur noch bei Zustandsänderungen, ergänzt durch einen neuen globalen mark.updated-Stream. Entwickler müssen den Status cachen und unrealisierte PnL sowie andere Metriken clientseitig mit den bereitgestellten TypeScript- und Python-Funktionen neu berechnen.
@Builders
Wichtige Änderung für API-Entwickler: Positions-Updates + neuer Mark Price Stream
Wir haben den Fluss von Live-Positionsdaten über WebSocket geändert. Wenn Sie position.*-Events konsumieren oder Live-PnL/Equity/Liq/Drawdown anzeigen, betrifft Sie dies. Bitte lesen Sie dies vor Ihrem nächsten Deployment.
Was hat sich geändert
Wir pushen kein vollständiges Positions-Update mehr bei jedem Markttick. Das war zu viel Overhead und entspricht nicht dem Standard von Exchanges. Wir sind zum Standardmuster übergegangen:
-
Semi-reguläre Positions-Events. position.opened / position.updated / position.closed feuern jetzt bei Zustandsänderungen (Fills, Margin-Änderungen, Schließung) — nicht bei jeder Preisbewegung. Cachen Sie die enthaltenen Felder.
-
Ein neuer autoritativer Mark Price Stream. mark.updated ist ein globaler Feed (ohne userId), der unseren internen autoritativen Mark-Preis für jedes bewegte Asset enthält, gebündelt bei ~4Hz. Alles Preisabhängige wird clientseitig aus diesem Feed plus Ihrem gecachten Positions-/Kontostatus abgeleitet.
Was Sie jetzt selbst berechnen (oder über einen Builder)
Unrealisierter PnL, Notional, ROE, Equity, Cross-Wallet, Margin-Ratio, isolierter & Cross-Liquidationspreis, genutzter Drawdown, genutzter Tagesverlust, Gewinnziel-% und Breach-Preis. Dies sind reine Funktionen des neuesten Marks + Ihres gecachten Status. Wir veröffentlichen die exakten Funktionen, die unsere UI verwendet (TypeScript und Python), in der Dokumentation, damit Ihre Zahlen Tick für Tick mit der App übereinstimmen.
Das Muster
-
Cachen Sie den Status aus Events, position.opened/.updated (entryPrice, quantity, positionSide, leverage, marginMode, marginUsed, exchange, asset), account.updated (balance, isolatedPositionMargin, highWaterMark) sowie Ihre Challenge/Funded-Konfiguration + tägliche Metriken einmalig über REST.
-
Aktualisieren Sie bei jedem mark.updated Ihre Marks und berechnen Sie neu. Rendern.
-
Propr führt die tatsächlichen Liquidations- und Breach-Prüfungen weiterhin serverseitig durch; Ihre lokalen Werte dienen nur zur Anzeige.