CEX.IO Plus es la plataforma avanzada de trading de CEX.IO, diseñada para traders profesionales e institucionales. El componente TsgcWSAPI_CexPlus proporciona acceso Delphi completo a su API WebSocket, cubriendo suscripciones de datos de mercado, gestión de órdenes, operaciones de cuenta y transferencias de fondos — todo mediante una única conexión persistente.
Ãndice de contenidos
- Visión general
- Primeros pasos
- Métodos WebSocket públicos
- Métodos de datos de mercado
- Métodos de cuenta y trading
- Ejemplo de código
- Configuración y notas
Visión general
La API CEX.IO Plus amplÃa significativamente la oferta estándar de CEX.IO. Proporciona tres niveles de funcionalidad: suscripciones públicas para feeds en tiempo real de order book y trades, consultas de datos de mercado para snapshots bajo demanda de tickers, candles e información del exchange, y métodos de cuenta para operaciones completas de trading incluyendo gestión de órdenes, consultas de comisiones, historial de transacciones y transferencias de fondos. El componente TsgcWSAPI_CexPlus encapsula todas estas capacidades.
Primeros pasos
Crea un componente TsgcWebSocketClient y un TsgcWSAPI_CexPlus, enlázalos y configura tus credenciales API. El componente se conecta automáticamente al endpoint WebSocket de 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;
Nota: CEX.IO Plus usa un endpoint API y esquema de autenticación distintos a la API CEX.IO estándar. Asegúrate de que tus credenciales API se generan desde el dashboard de CEX.IO Plus, no desde la plataforma CEX.IO estándar.
Métodos WebSocket públicos
Los métodos de suscripción públicos proporcionan datos en streaming en tiempo real sin requerir autenticación. Son ideales para monitorización de mercado y construir feeds de datos en vivo.
| Método | Descripción |
|---|---|
SubscribeOrderBook |
Subscribe to real-time order book updates for a trading pair. |
UnSubscribeOrderBook |
Unsubscribe from order book updates for a trading pair. |
SubscribeTrade |
Subscribe to live trade execution feed for a trading pair. |
UnSubscribeTrade |
Unsubscribe from the trade execution feed. |
// Subscribe to BTC-USD order book and trades
oCexPlus.SubscribeOrderBook('BTC-USD');
oCexPlus.SubscribeTrade('BTC-USD');
// Unsubscribe when no longer needed
oCexPlus.UnSubscribeOrderBook('BTC-USD');
oCexPlus.UnSubscribeTrade('BTC-USD');
Métodos de datos de mercado
Los métodos de datos de mercado devuelven snapshots bajo demanda de datos del exchange. A diferencia de las suscripciones, son llamadas request-response que devuelven un único resultado.
| Método | Descripción |
|---|---|
GetTicker |
Retrieve the current ticker (bid, ask, last price) for a pair. |
GetOrderBook |
Retrieve the current order book snapshot for a pair. |
GetCandles |
Retrieve OHLCV candle data for charting. |
GetTradeHistory |
Retrieve recent public trade history for a pair. |
GetServerTime |
Retrieve the current server timestamp for synchronization. |
GetPairsInfo |
Retrieve information about all available trading pairs. |
GetCurrenciesInfo |
Retrieve information about all supported currencies. |
GetProcessingInfo |
Retrieve deposit and withdrawal processing details. |
Consultar datos de mercado
// Get current ticker for BTC-USD
oCexPlus.GetTicker('BTC-USD');
// Get order book snapshot
oCexPlus.GetOrderBook('BTC-USD');
// Get candle data for charting
oCexPlus.GetCandles('BTC-USD');
// Get available trading pairs
oCexPlus.GetPairsInfo;
Métodos de cuenta y trading
Los métodos de cuenta requieren autenticación y proporcionan capacidades completas de trading, incluyendo colocación de órdenes, comprobaciones de estado de cuenta, gestión de comisiones y transferencias de fondos.
Gestión de cuenta
| Método | Descripción |
|---|---|
Ping |
Send a keepalive ping to maintain the connection. |
CreateAccount |
Create a new sub-account on the platform. |
GetAccountStatus |
Retrieve the current account status and details. |
GetCurrentFee |
Retrieve the current trading fee rate for the account. |
GetFeeStrategy |
Retrieve the fee strategy and tier information. |
GetVolume |
Retrieve the trading volume for fee tier calculation. |
Gestión de órdenes
| Método | Descripción |
|---|---|
GetOrders |
Retrieve all open orders on the account. |
NewOrder |
Place a new order with full parameter control. |
NewMarketOrder |
Place a market order that executes at the current best price. |
NewLimitOrder |
Place a limit order at a specified price. |
CancelOrder |
Cancel a specific open order by its identifier. |
CancelAllOrders |
Cancel all open orders at once. |
Historial y fondos
| Método | Descripción |
|---|---|
GetTransactionHistory |
Retrieve the account's transaction history. |
GetFundingHistory |
Retrieve deposit and withdrawal history. |
InternalTransfer |
Transfer funds between sub-accounts internally. |
GetDepositAddress |
Generate or retrieve a deposit address for a currency. |
FundsDepositFromWallet |
Deposit funds from an external wallet into the trading account. |
FundsWithdrawalToWallet |
Withdraw funds from the trading account to an external wallet. |
Ejemplo de código
El siguiente ejemplo muestra cómo conectar con CEX.IO Plus, comprobar el estado de la cuenta, suscribirse al order book y colocar una orden 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;
// Get account status
oCexPlus.GetAccountStatus;
// Subscribe to order book
oCexPlus.SubscribeOrderBook('BTC-USD');
// Place a market order
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
Colocar distintos tipos de orden
CEX.IO Plus soporta varios tipos de orden. Usa NewMarketOrder para ejecución inmediata al mejor precio disponible, NewLimitOrder para órdenes a un precio concreto, o NewOrder para control total de los parámetros.
// Market order: buy BTC with USD at market price
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
// Limit order: buy BTC at a specific price
oCexPlus.NewLimitOrder('BTC', 'USD', cxpsBuy, 0.01, 30000);
// Cancel a specific order
oCexPlus.CancelOrder('order-id-here');
// Cancel all open orders
oCexPlus.CancelAllOrders;
Transferencias de fondos
El componente soporta transferencias internas de fondos entre subcuentas, asà como operaciones de depósito y retirada.
// Get deposit address for BTC
oCexPlus.GetDepositAddress('BTC');
// Retrieve funding history
oCexPlus.GetFundingHistory;
// Transfer funds between sub-accounts
oCexPlus.InternalTransfer('from-account', 'to-account', 'BTC', 0.5);
Configuración y notas
Credenciales API
Genera tu API key y secret desde la plataforma CEX.IO Plus. Son distintas a las credenciales estándar de CEX.IO. Asegúrate de que la API key tenga habilitados los permisos adecuados para las operaciones que vayas a realizar (p. ej. trading, withdrawal).
Convención de nombres de pares
CEX.IO Plus usa un formato de par con guion como BTC-USD, a diferencia de la API CEX.IO estándar que usa parámetros separados de base y quote. Usa siempre el formato con guion al llamar a métodos de suscripción y consultas de datos de mercado.
Enumeración del lado de la orden
Los métodos de orden usan los valores de enumeración cxpsBuy y cxpsSell para especificar la dirección de la orden. Son especÃficos del componente CEX.IO Plus y difieren de la enumeración estándar de CEX.IO.
Keepalive de la conexión
Usa el método Ping a intervalos regulares para mantener viva la sesión autenticada. Esto evita que el servidor cierre la conexión por inactividad.
GetPairsInfo y GetCurrenciesInfo al arrancar para descubrir dinámicamente los pares de trading disponibles y las divisas soportadas, en lugar de codificarlas en tu aplicación.
Gestión de errores
Todas las respuestas de CEX.IO Plus incluyen un campo status. Gestiona las respuestas de error en el evento de mensaje del componente comprobando el estado y los detalles del error. Errores comunes son saldo insuficiente, nombres de par inválidos y fallos de autenticación.
