Atualização da API CEX Plus no sgcWebSockets

· Recursos
CEX.IO Plus WebSocket API Integration em Delphi

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

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.

Tip: Use 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.