CEX.IO Plus is o advanced trading platform um partir de CEX.IO, designed para professional e institutional traders. The TsgcWSAPI_CexPlus component provides comprehensive Delphi access para its WebSocket API, covering dados de mercado inscrições, order management, account operations, e fund transfers — all through um single persistent conexão.
Sumário
- Overview
- Primeiros passos
- Public WebSocket Methods
- Market Data Methods
- Account e Trading Methods
- Code Exemplo
- Configuração e Notes
Visão Geral
The CEX.IO Plus API expands significantly no standard CEX.IO offering. It provides three tiers de functionality: public inscrições para em tempo real livro de ordens e trade feeds, dados de mercado queries para on-demand snapshots de tickers, candles, e exchange information, e account métodos para full trading operations incluindo order management, fee queries, transaction history, e fund transfers. The TsgcWSAPI_CexPlus component encapsulates all de these capabilities.
Primeiros passos
Create um TsgcWebSocketClient e um TsgcWSAPI_CexPlus component, link them, e configure your API credentials. The component connects para o CEX.IO Plus WebSocket endpoint automaticamente.
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 uses um different API endpoint e autenticação scheme compared para o standard CEX.IO API. Certifique-se your API credentials are generated do CEX.IO Plus dashboard, not o standard CEX.IO platform.
Métodos WebSocket Públicos
Public inscrição métodos provide streaming em tempo real data sem requiring autenticação. These are ideal para market monitoring e building live data feeds.
| Method | Description |
|---|---|
SubscribeOrderBook |
Inscreva-se em em tempo real livro de ordens updates para um trading pair. |
UnSubscribeOrderBook |
Unsubscribe um partir de livro de ordens updates para um trading pair. |
SubscribeTrade |
Inscreva-se em live trade execution feed para um trading pair. |
UnSubscribeTrade |
Unsubscribe do 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 Dados de Mercado
Dados de mercado métodos return on-demand snapshots de exchange data. Unlike inscrições, these are request-response calls that return um single result.
| Method | Description |
|---|---|
GetTicker |
Retrieve o current ticker (bid, ask, last price) para um pair. |
GetOrderBook |
Retrieve o current livro de ordens snapshot para um pair. |
GetCandles |
Retrieve OHLCV candle data para charting. |
GetTradeHistory |
Retrieve recent public trade history para um pair. |
GetServerTime |
Retrieve o current server timestamp para synchronization. |
GetPairsInfo |
Retrieve information about todos os disponíveis trading pairs. |
GetCurrenciesInfo |
Retrieve information about all suportado currencies. |
GetProcessingInfo |
Retrieve deposit e withdrawal processing details. |
Querying Market Data
// 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 Conta e Negociação
Account métodos require autenticação e provide full trading capabilities, incluindo order placement, account status checks, fee management, e fund transfers.
Account Management
| Method | Description |
|---|---|
Ping |
Send um keepalive ping para maintain o conexão. |
CreateAccount |
Create um novo sub-account no platform. |
GetAccountStatus |
Retrieve o current account status e details. |
GetCurrentFee |
Retrieve o current trading fee rate para o account. |
GetFeeStrategy |
Retrieve o fee strategy e tier information. |
GetVolume |
Retrieve o trading volume para fee tier calculation. |
Order Management
| Method | Description |
|---|---|
GetOrders |
Retrieve all abrir orders no account. |
NewOrder |
Place um novo order com full parameter control. |
NewMarketOrder |
Place um market order that executes no current best price. |
NewLimitOrder |
Place um limit order em um specified price. |
CancelOrder |
Cancelar um specific abrir order por its identifier. |
CancelAllOrders |
Cancelar all abrir orders em once. |
History e Funds
| Method | Description |
|---|---|
GetTransactionHistory |
Retrieve o account's transaction history. |
GetFundingHistory |
Retrieve deposit e withdrawal history. |
InternalTransfer |
Transfer funds entre sub-accounts internally. |
GetDepositAddress |
Generate ou retrieve um deposit address para um currency. |
FundsDepositFromWallet |
Deposit funds um partir de um external carteira no trading account. |
FundsWithdrawalToWallet |
Withdraw funds do trading account para um external carteira. |
Exemplo de Código
The exemplo um seguir demonstrates connecting para CEX.IO Plus, checking account status, subscribing para o livro de ordens, e placing um market order.
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);
Placing Different Order Types
CEX.IO Plus suporta multiple order types. Use NewMarketOrder para immediate execution no best available price, NewLimitOrder para price-specific orders, ou NewOrder para full parameter control.
// 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;
Fund Transfers
The component suporta internal fund transfers entre sub-accounts assim como deposit e withdrawal operations.
// 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);
Configuração e Notes
API Credentials
Generate your chave de API e secret do CEX.IO Plus platform. These are distinct um partir de standard CEX.IO credentials. Ensure um chave de API has o appropriate permissions enabled para o operations you intend para perform (e.g., trading, withdrawal).
Pair Naming Convention
CEX.IO Plus uses um hyphenated pair format como BTC-USD, unlike o standard CEX.IO API which uses separate base e quote currency parâmetros. Sempre use o hyphenated format when calling inscrição métodos e dados de mercado queries.
Order Side Enumeration
Order métodos use o cxpsBuy e cxpsSell enumeration values para specify o order direction. These are specific para o CEX.IO Plus component e differ do standard CEX.IO enumeration.
Conexão Keepalive
Use o Ping method em regular intervals para keep o authenticated session alive. This prevents o servidor um partir de closing o conexão due para inactivity.
GetPairsInfo e GetCurrenciesInfo em startup para dynamically discover available trading pairs e suportado currencies, rather than hardcoding them em your application.
Error Handling
All responses um partir de CEX.IO Plus include um status field. Handle error responses em o componente's message event por checking um resposta status e error details. Common errors include insufficient balance, invalid pair names, e autenticação failures.
