Capitalisation boursière: $3.7582T 1.060%
Volume(24h): $129.4006B -11.610%
Indice de peur et de cupidité:

52 - Neutre

  • Capitalisation boursière: $3.7582T 1.060%
  • Volume(24h): $129.4006B -11.610%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.7582T 1.060%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment utiliser l'API pour le trading automatisé sur OKX

L'API OKX permet le trading automatisé via des interfaces REST et WebSocket, permettant le placement des commandes, le streaming de données en temps réel et la gestion des comptes avec l'authentification HMAC sécurisée.

Aug 07, 2025 at 05:21 pm

Comprendre l'API OKX pour le trading automatisé

L' API OKX fournit une interface puissante aux utilisateurs pour automatiser leurs stratégies de trading, accéder aux données du marché en temps réel et gérer leurs comptes par programme. Avant de lancer un trading automatisé, il est essentiel de comprendre les types d'API proposés par OKX. La plateforme prend en charge l'API REST , l'API WebSocket et l'API Web3.js , les deux premiers étant les plus pertinents pour le trading automatisé. L'API REST vous permet de passer des commandes, de vérifier les soldes et de récupérer des données historiques à l'aide des demandes HTTP. L'API WebSocket permet le streaming en temps réel des données du marché, les mises à jour des commandes et les modifications de compte avec une faible latence.

Pour commencer, vous devez générer une clé API à partir de votre compte OKX. Accédez à la section de gestion des API dans les paramètres de votre compte. Ici, vous allez créer une nouvelle clé API en spécifiant un nom, une phrase de passe et des adresses IP de liaison pour la sécurité. Il est essentiel de restreindre l'accès à des IP spécifiques pour empêcher l'utilisation non autorisée. La clé générée se compose de trois composants: clé API , clé secrète et phrase de passe . Ceux-ci doivent être stockés en toute sécurité, car ils accordent un accès complet à votre compte commercial.

Configuration de votre environnement de développement

Pour utiliser efficacement l'API OKX, vous avez besoin d'un environnement de développement approprié. La plupart des développeurs utilisent Python en raison de sa simplicité et de son riche écosystème de bibliothèques. Installez Python (de préférence la version 3.8 ou plus) et configurez un environnement virtuel pour gérer les dépendances. Utilisez PIP pour installer des packages requis tels que requests de communication HTTP et websockets pour gérer les connexions WebSocket.

 pip install requests websockets

Ensuite, créez un fichier de configuration (par exemple, config.py ) pour stocker vos informations d'identification API en toute sécurité. Ne coquez jamais vos clés dans votre script principal. Votre configuration doit inclure:

  • Clé API
  • Clé secrète
  • Phrase secrète
  • URL de base (par exemple, https://www.okx.com pour le repos)

Assurez-vous que ce fichier est ajouté à .gitignore si vous utilisez le contrôle de version. Cela empêche l'exposition accidentelle de données sensibles.

Authentification des demandes avec l'API OKX

OKX utilise le cryptage HMAC-SHA256 pour l'authentification de la demande. Chaque demande API privée doit inclure des en-têtes avec des champs spécifiques: OK-ACCESS-KEY , OK-ACCESS-SIGN , OK-ACCESS-TIMESTAMP et OK-ACCESS-PASSPHRASE . La signature est générée en concaténant l'horodatage, la méthode HTTP, le chemin de point de terminaison et le corps de demande (le cas échéant), puis le signant avec votre clé secrète .

Voici comment générer la signature en Python:

 import hmac
import hashlib
import json
Def Generate_Signature (horodatage, méthode, URL, corps, secret_key):

message = timestamp + method + url + (json.dumps(body) if body else '') mac = hmac.new(bytes(secret_key, 'utf-8'), bytes(message, 'utf-8'), hashlib.sha256) return mac.hexdigest()

Incluez cette fonction dans votre emballage API. L'horodatage doit être au format ISO (par exemple, 2024-04-05T12:00:00.000Z ). Vérifiez toujours que l'horloge système est synchronisée avec UTC pour éviter les erreurs d'authentification.

Placer les commandes via l'API REST

Pour exécuter automatiquement les transactions, utilisez le point de terminaison de la commande de place . L'URL du point de terminaison est /api/v5/trade/order . Vous devez envoyer une demande de poste avec un corps JSON contenant les paramètres requis:

  • INSTID : ID de l'instrument (par exemple, BTC-USDT-SWAP )
  • TDMODE : Mode commercial ( cash , isolated ou cross )
  • OrdType : Type de commande ( limit , market , post_only , etc.)
  • SZ : taille de commande
  • PX : Prix (requis pour les commandes de limite)

Exemple de corps de demande:

{

'INSTID': 'BTC-USDT-SWAP',
'tdmode': 'cross',
«ordtype»: «limite»,
«sz»: «0,001»,
'PX': '60000'
}

Utilisez la bibliothèque requests pour envoyer la demande:

 import requests
from config import API_KEY, SECRET_KEY, PASSPHRASE
url = 'https://www.okx.com/api/v5/trade/order'
en-têtes = {

'OK-ACCESS-KEY': API_KEY, 'OK-ACCESS-PASSPHRASE': PASSPHRASE, 'Content-Type': 'application/json'

}

corps = {

'instId': 'BTC-USDT-SWAP', 'tdMode': 'cross', 'ordType': 'limit', 'sz': '0.001', 'px': '60000'

}

Timestamp = '2024-04-05T12: 00: 00.000Z'
Signature = Generate_Signature (horodatage, 'Post', '/ API / V5 / Trade / Order', Body, Secret_key)

En-têtes ['OK-Access-Sign'] = Signature
En-têtes ['OK-Access-Timestamp'] = horodatage

Response = requêtes.Post (URL, en-têtes = en-têtes, json = corps)
imprimer (réponse.json ())

Vérifiez la réponse du code et msg . Un code de 0 indique le succès.

Données de marché du streaming avec WebSocket

Pour les décisions de trading en temps réel, connectez-vous à l'API WebSocket d'OKX. Cela vous permet de recevoir des mises à jour en direct sur les livres de commandes, les métiers et l'état de votre commande. Utilisez la bibliothèque websockets pour établir une connexion à wss://ws.okx.com:8443/ws/v5/public pour les canaux publics ou wss://ws.okx.com:8443/ws/v5/private pour les données privées.

Abonnez-vous au canal du ticker ou de la profondeur pour surveiller les changements de prix:

 import asyncio
import websockets
import json
async def écouter_to_ticker ():

uri = 'wss://ws.okx.com:8443/ws/v5/public' async with websockets.connect(uri) as websocket: subscribe_message = { 'op': 'subscribe', 'args': [ { 'channel': 'tickers', 'instId': 'BTC-USDT' } ] } await websocket.send(json.dumps(subscribe_message)) while True: response = await websocket.recv() data = json.loads(response) if 'data' in data: print('Latest price:', data['data'][0]['last'])

Exécutez cette coroutine pour recevoir en continu des mises à jour. Gérer les déconnexions et implémenter la logique de reconnexion pour la robustesse.

Gestion des commandes de risques et de surveillance

Le trading automatisé nécessite une surveillance constante. Utilisez le point de terminaison Détails de l'ordre Get ( /api/v5/trade/order ) pour vérifier l'état d'une commande spécifique par ordId . Annuler les commandes en utilisant le point de terminaison des commandes d'annulation ( /api/v5/trade/cancel-order ) si les conditions du marché changent.

Implémentez la journalisation pour enregistrer toutes les actions:

import logging

logging.basicConfig (filename = 'trading.log', niveau = logging.info)

Logging.info (F'Order Placé: {Response.json ()} ')

Configurez des alertes pour les demandes défaillantes ou les mouvements de prix inattendus. Utilisez des disjoncteurs pour arrêter le trading si les pertes dépassent un seuil.

Questions fréquemment posées

Puis-je utiliser l'API OKX sans activer l'authentification à deux facteurs (2FA)?

Non. Pour des raisons de sécurité, OKX exige que 2FA soit activé sur votre compte avant de pouvoir créer des clés API. Cela ajoute une couche supplémentaire de protection contre l'accès non autorisé.

Quelles limites de taux s'appliquent à l'API OKX?

OKX applique des limites de taux en fonction du type de demande. Les points de terminaison publics permettent jusqu'à 20 demandes par 2 secondes par IP . Les points de terminaison privés sont limités à 6 demandes par 2 secondes par clé d'API . Le dépassement de ces limites entraîne une erreur 429 .

TestNet est-il disponible pour le développement de l'API OKX?

Oui. OKX fournit un environnement de trading de démonstration accessible via une URL de base différente: https://www.okx.com . Vous pouvez simuler des métiers sans risquer de vrais fonds. Communiquez l'URL de base dans votre configuration et utilisez des touches API spécifiques à la démo.

Comment gérer les temps d'arrêt de l'API ou la perte de connexion?

Implémentez la logique de réessayer avec un revers exponentiel. Pour les connexions WebSocket, écoutez les événements close et tentez la reconnexion après un retard. La commande de magasin indique localement pour se remettre des interruptions.

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Voir tous les articles

User not found or password invalid

Your input is correct