Mises à jour de position API et flux mark price
Résumé
Propr annonce un changement pour les données de position API : les événements position.* ne se déclenchent plus que sur changement d'état et un nouveau flux global mark.updated est disponible. Les développeurs doivent mettre en cache l'état et recalculer le PnL non réalisé et autres métriques côté client via les fonctions TypeScript/Python fournies.
@Builders
Changement important pour les développeurs API : mises à jour de position + nouveau flux mark price
Nous avons modifié la manière dont les données de position transitent via WebSocket. Si vous consommez des événements position.* ou affichez du PnL/equity/liq/drawdown en direct, cela vous concerne. Veuillez lire ceci avant votre prochain déploiement.
Ce qui a changé
Nous n'envoyons plus une mise à jour complète de position à chaque tick du marché. C'était trop lourd et ce n'est pas ainsi que fonctionnent les exchanges. Nous sommes passés au modèle standard :
-
Événements de position semi-réguliers. position.opened / position.updated / position.closed se déclenchent désormais sur changement d'état (exécutions, changements de marge, clôture) — pas à chaque mouvement de prix. Mettez en cache les champs qu'ils contiennent.
-
Un nouveau flux de mark price faisant autorité. mark.updated est un flux global (sans userId) contenant notre mark interne faisant autorité pour chaque actif ayant bougé, groupé à ~4Hz. Tout ce qui dépend du prix est dérivé côté client à partir de ce flux et de votre état de compte/position mis en cache.
Ce que vous calculez désormais vous-même (ou via un builder)
PnL non réalisé, notionnel, ROE, equity, wallet croisé, ratio de marge, prix de liquidation isolé et croisé, drawdown utilisé, perte quotidienne utilisée, % d'objectif de profit et prix de rupture. Ce sont des fonctions pures basées sur le dernier mark + votre état mis en cache. Nous publions les fonctions exactes utilisées par notre UI (TypeScript et Python) dans la documentation, afin que vos chiffres correspondent tick pour tick à l'application.
Le modèle
-
Mettez en cache l'état des événements, position.opened/.updated (entryPrice, quantity, positionSide, leverage, marginMode, marginUsed, exchange, asset), account.updated (balance, isolatedPositionMargin, highWaterMark), et votre configuration de challenge/financement + métriques quotidiennes via REST.
-
À chaque mark.updated, mettez à jour vos marks et recalculez. Affichez.
-
Propr effectue toujours les vérifications réelles de liquidation et de rupture côté serveur, vos valeurs locales sont destinées à l'affichage.