Cette page a été traduite automatiquement. La version anglaise fait référence. Lire en anglais
Aller au contenu principal

Limites de débit

Limitation de débit par portefeuille pour les opérations sur ordres et les requêtes API.

Vue d'ensemble

La limitation de débit est appliquée par portefeuille à l'aide d'un algorithme à fenêtre fixe. Les limites s'appliquent aux :

  • Placements d'ordres (POST /order)
  • Annulations d'ordres (DELETE /order)
  • Requêtes API (utilisation générale des endpoints)

Les limites sont réinitialisées toutes les 60 secondes.

Limites par défaut

NiveauOrdres/minAnnulations/minRequêtes API/minOrdres ouverts maxPositions max
Par défaut6012060010050
Niveau 130603005020
Niveau 21203001 200500200
Teneur de marché6001 2006 0002 000Illimité

Les nouveaux portefeuilles reçoivent les limites par défaut. Contactez le support pour une mise à niveau de votre niveau.

Réponse en cas de limite atteinte

Lorsqu'une limite de débit est dépassée, l'API renvoie 429 Too Many Requests :

{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded for OrderPlacement: 60 per minute, retry after 45 seconds",
"retry_after_secs": 45,
"limit": 60
}

En-têtes de réponse

Tous les endpoints soumis à une limitation de débit incluent ces en-têtes, aussi bien dans les réponses de succès que d'erreur :

En-têteDescriptionExemple
X-RateLimit-LimitNombre maximal de requêtes autorisées par fenêtre60
X-RateLimit-RemainingRequêtes restantes dans la fenêtre en cours42
X-RateLimit-ResetHorodatage Unix de réinitialisation de la fenêtre1737312060
Retry-AfterSecondes avant nouvelle tentative (uniquement sur 429)45

Exemples d'en-têtes de réponse

Requête réussie :

HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1737312060

Requête limitée :

HTTP/1.1 429 Too Many Requests
Retry-After: 45
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1737312060

Catégories de limites de débit

Les limites de débit sont suivies séparément pour chaque type d'action :

Placement d'ordres

S'applique à :

  • POST /order (ordres sur options)
  • POST /bulk_order (ordres groupés, chaque ordre du lot est comptabilisé)
  • PUT /bulk_order (remplacements groupés, chaque remplacement est comptabilisé)

Annulation d'ordres

S'applique à :

  • DELETE /order
  • DELETE /bulk_order (annulations groupées, chaque annulation est comptabilisée)
  • DELETE /bulk_order_cloid (annulations groupées par identifiant d'ordre client, chaque annulation est comptabilisée)

Requêtes API

S'applique à l'utilisation générale de l'API sur l'ensemble des endpoints authentifiés.

Limites de positions et d'ordres

En plus des limites de débit, les portefeuilles ont des limites maximales d'ordres ouverts et de positions :

Type de limiteDescriptionRejet
Ordres ouverts maxNombre maximal d'ordres ouverts simultanémentOrdre rejeté avant d'atteindre le moteur
Positions maxNombre maximal de positions uniques (-1 = illimité)Ordre rejeté s'il créerait une nouvelle position

Lorsque les limites sont dépassées :

{
"error": "limit_exceeded",
"message": "Maximum open orders limit exceeded (100)"
}

Bonnes pratiques

Gestion des limites de débit

  1. Surveillez les en-têtes : suivez X-RateLimit-Remaining de manière proactive
  2. Respectez Retry-After : attendez la durée spécifiée avant de réessayer
  3. Implémentez un backoff : utilisez un backoff exponentiel en cas de 429 répétés
import time

def place_order_with_retry(order, max_retries=3):
for attempt in range(max_retries):
response = api.place_order(order)

if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
continue

return response

raise RateLimitError("Max retries exceeded")

Optimisation de l'utilisation des requêtes

  1. Utilisez les endpoints groupés : POST /bulk_order pour plusieurs ordres en une seule requête
  2. Groupez les annulations : DELETE /bulk_order ou DELETE /bulk_order_cloid au lieu de multiples requêtes DELETE /order
  3. WebSocket pour les mises à jour : abonnez-vous aux mises à jour d'ordres au lieu d'interroger régulièrement GET /orders

Surveillance

Suivez ces métriques côté client :

  • Taux de requêtes par type d'action
  • Tendances de X-RateLimit-Remaining
  • Fréquence des réponses 429
  • Durées moyennes de Retry-After

Référence des erreurs

Statut HTTPCode d'erreurDescription
429rate_limit_exceededLimite de débit dépassée, réessayez après le délai spécifié

Consultez Erreurs pour la référence complète des erreurs.