CEX.IO Plus est la plateforme de trading avancée de CEX.IO, conçue pour les traders professionnels et institutionnels. Le composant TsgcWSAPI_CexPlus fournit un accès Delphi complet à son API WebSocket, couvrant les abonnements aux données de marché, la gestion des ordres, les opérations de compte et les transferts de fonds — le tout via une seule connexion persistante.
Table des matières
- Aperçu
- Premiers pas
- Méthodes WebSocket publiques
- Méthodes de données de marché
- Méthodes de compte et de trading
- Exemple de code
- Configuration et notes
Aperçu
L'API CEX.IO Plus étend considérablement l'offre CEX.IO standard. Elle fournit trois niveaux de fonctionnalité : des abonnements publics pour les flux temps réel de carnets d'ordres et de trades, des requêtes de données de marché pour des snapshots à la demande de tickers, de chandelles et d'informations d'exchange, et des méthodes de compte pour des opérations de trading complètes incluant la gestion des ordres, les requêtes de frais, l'historique des transactions et les transferts de fonds. Le composant TsgcWSAPI_CexPlus encapsule toutes ces capacités.
Premiers pas
Crée un TsgcWebSocketClient et un composant TsgcWSAPI_CexPlus, lie-les et configure tes identifiants API. Le composant se connecte automatiquement à l'endpoint WebSocket CEX.IO Plus.
oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
Note : CEX.IO Plus utilise un endpoint d'API et un schéma d'authentification différents de l'API CEX.IO standard. Assure-toi que tes identifiants API sont générés depuis le tableau de bord CEX.IO Plus, et non depuis la plateforme CEX.IO standard.
Méthodes WebSocket publiques
Les méthodes d'abonnement publiques fournissent des données en streaming temps réel sans authentification requise. Elles sont idéales pour le monitoring de marché et la construction de flux de données en direct.
| Méthode | Description |
|---|---|
SubscribeOrderBook |
S'abonner aux mises à jour du carnet d'ordres en temps réel pour une paire de trading. |
UnSubscribeOrderBook |
Se désabonner des mises à jour du carnet d'ordres pour une paire de trading. |
SubscribeTrade |
S'abonner au flux d'exécutions de trade en direct pour une paire de trading. |
UnSubscribeTrade |
Se désabonner du flux d'exécutions de trade. |
// S'abonner au carnet d'ordres BTC-USD et aux trades
oCexPlus.SubscribeOrderBook('BTC-USD');
oCexPlus.SubscribeTrade('BTC-USD');
// Se désabonner quand ce n'est plus nécessaire
oCexPlus.UnSubscribeOrderBook('BTC-USD');
oCexPlus.UnSubscribeTrade('BTC-USD');
Méthodes de données de marché
Les méthodes de données de marché retournent des snapshots à la demande des données d'exchange. Contrairement aux abonnements, ce sont des appels requête-réponse qui retournent un seul résultat.
| Method | Description |
|---|---|
GetTicker |
Récupérer le ticker actuel (bid, ask, dernier prix) pour une paire. |
GetOrderBook |
Récupérer le snapshot actuel du carnet d'ordres pour une paire. |
GetCandles |
Récupérer les données de chandelles OHLCV pour le charting. |
GetTradeHistory |
Récupérer l'historique récent des trades publics pour une paire. |
GetServerTime |
Récupérer le timestamp serveur actuel pour la synchronisation. |
GetPairsInfo |
Récupérer les informations sur toutes les paires de trading disponibles. |
GetCurrenciesInfo |
Récupérer les informations sur toutes les devises prises en charge. |
GetProcessingInfo |
Récupérer les détails de traitement des dépôts et retraits. |
Interroger les données de marché
// Récupérer le ticker actuel pour BTC-USD
oCexPlus.GetTicker('BTC-USD');
// Récupérer le snapshot du carnet d'ordres
oCexPlus.GetOrderBook('BTC-USD');
// Récupérer les données de chandelles pour le charting
oCexPlus.GetCandles('BTC-USD');
// Récupérer les paires de trading disponibles
oCexPlus.GetPairsInfo;
Méthodes de compte et de trading
Les méthodes de compte requièrent une authentification et fournissent des capacités complètes de trading, incluant le placement d'ordres, les vérifications de statut de compte, la gestion des frais et les transferts de fonds.
Gestion du compte
| Method | Description |
|---|---|
Ping |
Envoyer un ping keepalive pour maintenir la connexion. |
CreateAccount |
Créer un nouveau sous-compte sur la plateforme. |
GetAccountStatus |
Récupérer le statut et les détails actuels du compte. |
GetCurrentFee |
Récupérer le taux actuel de frais de trading pour le compte. |
GetFeeStrategy |
Récupérer la stratégie de frais et les informations de palier. |
GetVolume |
Récupérer le volume de trading pour le calcul du palier de frais. |
Gestion des ordres
| Method | Description |
|---|---|
GetOrders |
Récupérer tous les ordres ouverts sur le compte. |
NewOrder |
Placer un nouvel ordre avec un contrôle complet des paramètres. |
NewMarketOrder |
Placer un ordre market qui s'exécute au meilleur prix actuel. |
NewLimitOrder |
Placer un ordre limit à un prix spécifié. |
CancelOrder |
Annuler un ordre ouvert spécifique par son identifiant. |
CancelAllOrders |
Annuler tous les ordres ouverts en une seule fois. |
Historique et fonds
| Method | Description |
|---|---|
GetTransactionHistory |
Récupérer l'historique des transactions du compte. |
GetFundingHistory |
Récupérer l'historique des dépôts et retraits. |
InternalTransfer |
Transférer des fonds entre sous-comptes en interne. |
GetDepositAddress |
Générer ou récupérer une adresse de dépôt pour une devise. |
FundsDepositFromWallet |
Déposer des fonds depuis un wallet externe vers le compte de trading. |
FundsWithdrawalToWallet |
Retirer des fonds du compte de trading vers un wallet externe. |
Exemple de code
L'exemple suivant montre comment se connecter à CEX.IO Plus, vérifier le statut du compte, s'abonner au carnet d'ordres et placer un ordre market.
oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
// Récupérer le statut du compte
oCexPlus.GetAccountStatus;
// S'abonner au carnet d'ordres
oCexPlus.SubscribeOrderBook('BTC-USD');
// Placer un ordre market
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
Placer différents types d'ordres
CEX.IO Plus prend en charge plusieurs types d'ordres. Utilise NewMarketOrder pour une exécution immédiate au meilleur prix disponible, NewLimitOrder pour des ordres avec un prix spécifique ou NewOrder pour un contrôle complet des paramètres.
// Ordre market : acheter BTC avec USD au prix du marché
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
// Ordre limit : acheter BTC à un prix spécifique
oCexPlus.NewLimitOrder('BTC', 'USD', cxpsBuy, 0.01, 30000);
// Annuler un ordre spécifique
oCexPlus.CancelOrder('order-id-here');
// Annuler tous les ordres ouverts
oCexPlus.CancelAllOrders;
Transferts de fonds
Le composant prend en charge les transferts de fonds internes entre sous-comptes ainsi que les opérations de dépôt et retrait.
// Récupérer l'adresse de dépôt pour BTC
oCexPlus.GetDepositAddress('BTC');
// Récupérer l'historique de funding
oCexPlus.GetFundingHistory;
// Transférer des fonds entre sous-comptes
oCexPlus.InternalTransfer('from-account', 'to-account', 'BTC', 0.5);
Configuration et notes
Identifiants API
Génère ta clé API et ton secret depuis la plateforme CEX.IO Plus. Ils sont distincts des identifiants CEX.IO standard. Assure-toi que la clé API a les permissions appropriées activées pour les opérations que tu prévois d'effectuer (par ex. trading, retrait).
Convention de nommage des paires
CEX.IO Plus utilise un format de paire avec trait d'union comme BTC-USD, contrairement à l'API CEX.IO standard qui utilise des paramètres séparés pour la devise de base et de cotation. Utilise toujours le format avec trait d'union lors de l'appel des méthodes d'abonnement et des requêtes de données de marché.
Énumération du sens des ordres
Les méthodes d'ordre utilisent les valeurs d'énumération cxpsBuy et cxpsSell pour spécifier le sens de l'ordre. Elles sont spécifiques au composant CEX.IO Plus et diffèrent de l'énumération CEX.IO standard.
Keepalive de connexion
Utilise la méthode Ping à intervalles réguliers pour maintenir la session authentifiée active. Cela empêche le serveur de fermer la connexion pour cause d'inactivité.
GetPairsInfo et GetCurrenciesInfo au démarrage pour découvrir dynamiquement les paires de trading disponibles et les devises prises en charge, plutôt que de les hardcoder dans ton application.
Gestion des erreurs
Toutes les réponses de CEX.IO Plus incluent un champ de statut. Gère les réponses d'erreur dans l'événement de message du composant en vérifiant le statut de la réponse et les détails de l'erreur. Les erreurs courantes incluent le solde insuffisant, les noms de paire invalides et les échecs d'authentification.
