CEX Plus API-Update sgcWebSockets

· Funktionen
CEX.IO Plus WebSocket-API-Integration in Delphi

CEX.IO Plus ist die fortgeschrittene Trading-Plattform von CEX.IO für professionelle und institutionelle Trader. Die Komponente TsgcWSAPI_CexPlus bietet umfassenden Delphi-Zugriff auf die WebSocket-API und deckt Marktdaten-Subscriptions, Order-Management, Kontooperationen und Geldtransfers ab — alles über eine einzige persistente Verbindung.

Inhaltsverzeichnis

Übersicht

Die CEX.IO Plus API erweitert das Standard-CEX.IO-Angebot deutlich. Sie bietet drei Funktionsebenen: öffentliche Subscriptions für Echtzeit-Orderbuch- und Trade-Feeds, Marktdaten-Abfragen für On-Demand-Snapshots von Tickern, Candles und Börseninformationen, sowie Konto-Methoden für vollständige Trading-Operationen inklusive Order-Management, Gebührenabfragen, Transaktionshistorie und Geldtransfers. Die Komponente TsgcWSAPI_CexPlus kapselt all diese Fähigkeiten.

Erste Schritte

Erstelle eine TsgcWebSocketClient- und eine TsgcWSAPI_CexPlus-Komponente, verbinde sie und konfiguriere deine API-Zugangsdaten. Die Komponente verbindet sich automatisch mit dem CEX.IO Plus WebSocket-Endpoint.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'dein_api_key';
oCexPlus.CexPlus.ApiSecret := 'dein_api_secret';
oClient.Active := True;
Hinweis: CEX.IO Plus nutzt einen anderen API-Endpoint und ein anderes Authentifizierungs-Schema als die Standard-CEX.IO-API. Stelle sicher, dass deine API-Zugangsdaten aus dem CEX.IO Plus-Dashboard stammen und nicht von der Standard-CEX.IO-Plattform.

Öffentliche WebSocket-Methoden

Öffentliche Subscription-Methoden liefern Echtzeit-Streaming-Daten ohne Authentifizierung. Ideal für Marktüberwachung und Live-Daten-Feeds.

Methode Beschreibung
SubscribeOrderBook Echtzeit-Orderbuch-Updates für ein Handelspaar abonnieren.
UnSubscribeOrderBook Orderbuch-Updates für ein Handelspaar kündigen.
SubscribeTrade Live-Trade-Execution-Feed für ein Handelspaar abonnieren.
UnSubscribeTrade Trade-Execution-Feed kündigen.
// BTC-USD-Orderbuch und Trades abonnieren
oCexPlus.SubscribeOrderBook('BTC-USD');
oCexPlus.SubscribeTrade('BTC-USD');
// Kündigen, wenn nicht mehr nötig
oCexPlus.UnSubscribeOrderBook('BTC-USD');
oCexPlus.UnSubscribeTrade('BTC-USD');

Marktdaten-Methoden

Marktdaten-Methoden liefern On-Demand-Snapshots von Börsendaten. Im Gegensatz zu Subscriptions handelt es sich um Request-Response-Aufrufe mit einem einzelnen Ergebnis.

Methode Beschreibung
GetTicker Aktuellen Ticker (Bid, Ask, letzter Preis) für ein Paar abrufen.
GetOrderBook Aktuellen Orderbuch-Snapshot für ein Paar abrufen.
GetCandles OHLCV-Candle-Daten für Charts abrufen.
GetTradeHistory Aktuelle öffentliche Trade-Historie für ein Paar abrufen.
GetServerTime Aktuellen Server-Timestamp zur Synchronisation abrufen.
GetPairsInfo Informationen zu allen verfügbaren Handelspaaren abrufen.
GetCurrenciesInfo Informationen zu allen unterstützten Währungen abrufen.
GetProcessingInfo Bearbeitungsdetails für Einzahlungen und Auszahlungen abrufen.

Marktdaten abfragen

// Aktuellen Ticker für BTC-USD abrufen
oCexPlus.GetTicker('BTC-USD');
// Orderbuch-Snapshot abrufen
oCexPlus.GetOrderBook('BTC-USD');
// Candle-Daten für Charts abrufen
oCexPlus.GetCandles('BTC-USD');
// Verfügbare Handelspaare abrufen
oCexPlus.GetPairsInfo;

Konto- und Trading-Methoden

Konto-Methoden erfordern Authentifizierung und bieten vollständige Trading-Funktionen, einschließlich Orderplatzierung, Kontostatus-Prüfungen, Gebührenverwaltung und Geldtransfers.

Kontoverwaltung

Methode Beschreibung
Ping Sende einen Keepalive-Ping, um die Verbindung aufrechtzuerhalten.
CreateAccount Erstelle ein neues Sub-Konto auf der Plattform.
GetAccountStatus Aktuellen Kontostatus und -details abrufen.
GetCurrentFee Aktuelle Trading-Gebührenrate des Kontos abrufen.
GetFeeStrategy Gebührenstrategie und Tier-Informationen abrufen.
GetVolume Handelsvolumen für die Fee-Tier-Berechnung abrufen.

Order-Management

Methode Beschreibung
GetOrders Alle offenen Orders des Kontos abrufen.
NewOrder Platziere eine neue Order mit voller Parameterkontrolle.
NewMarketOrder Platziere eine Market-Order, die zum aktuell besten Preis ausgeführt wird.
NewLimitOrder Platziere eine Limit-Order zu einem festgelegten Preis.
CancelOrder Storniere eine bestimmte offene Order anhand ihrer ID.
CancelAllOrders Storniere alle offenen Orders auf einmal.

Historie und Mittel

Methode Beschreibung
GetTransactionHistory Transaktionshistorie des Kontos abrufen.
GetFundingHistory Einzahlungs- und Auszahlungshistorie abrufen.
InternalTransfer Gelder intern zwischen Sub-Konten transferieren.
GetDepositAddress Einzahlungsadresse für eine Währung erzeugen oder abrufen.
FundsDepositFromWallet Gelder von einer externen Wallet auf das Trading-Konto einzahlen.
FundsWithdrawalToWallet Gelder vom Trading-Konto auf eine externe Wallet auszahlen.

Code-Beispiel

Das folgende Beispiel zeigt: Verbindung zu CEX.IO Plus aufbauen, Kontostatus prüfen, Orderbuch abonnieren und eine Market-Order platzieren.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'dein_api_key';
oCexPlus.CexPlus.ApiSecret := 'dein_api_secret';
oClient.Active := True;
// Kontostatus abrufen
oCexPlus.GetAccountStatus;
// Orderbuch abonnieren
oCexPlus.SubscribeOrderBook('BTC-USD');
// Market-Order platzieren
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);

Verschiedene Order-Typen platzieren

CEX.IO Plus unterstützt mehrere Order-Typen. Nutze NewMarketOrder für sofortige Ausführung zum besten verfügbaren Preis, NewLimitOrder für preisspezifische Orders oder NewOrder für volle Parameterkontrolle.

// Market-Order: BTC mit USD zum Marktpreis kaufen
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
// Limit-Order: BTC zu einem bestimmten Preis kaufen
oCexPlus.NewLimitOrder('BTC', 'USD', cxpsBuy, 0.01, 30000);
// Bestimmte Order stornieren
oCexPlus.CancelOrder('order-id-here');
// Alle offenen Orders stornieren
oCexPlus.CancelAllOrders;

Geldtransfers

Die Komponente unterstützt interne Geldtransfers zwischen Sub-Konten sowie Einzahlungs- und Auszahlungsoperationen.

// Einzahlungsadresse für BTC abrufen
oCexPlus.GetDepositAddress('BTC');
// Funding-Historie abrufen
oCexPlus.GetFundingHistory;
// Gelder zwischen Sub-Konten transferieren
oCexPlus.InternalTransfer('from-account', 'to-account', 'BTC', 0.5);

Konfiguration und Hinweise

API-Zugangsdaten

Erzeuge deinen API-Key und das Secret aus der CEX.IO Plus-Plattform. Diese unterscheiden sich von Standard-CEX.IO-Zugangsdaten. Stelle sicher, dass der API-Key die passenden Berechtigungen für die geplanten Operationen hat (z. B. Trading, Auszahlung).

Naming-Konvention für Paare

CEX.IO Plus nutzt ein mit Bindestrich getrenntes Paar-Format wie BTC-USD, im Gegensatz zur Standard-CEX.IO-API mit separaten Base- und Quote-Currency-Parametern. Nutze immer das Bindestrich-Format bei Subscription-Methoden und Marktdaten-Abfragen.

Order-Side-Enumeration

Order-Methoden verwenden die Enum-Werte cxpsBuy und cxpsSell, um die Order-Richtung anzugeben. Diese sind spezifisch für die CEX.IO Plus-Komponente und unterscheiden sich von der Standard-CEX.IO-Enumeration.

Verbindungs-Keepalive

Nutze die Ping-Methode in regelmäßigen Abständen, um die authentifizierte Session am Leben zu halten. So verhinderst du, dass der Server die Verbindung wegen Inaktivität schließt.

Tipp: Nutze GetPairsInfo und GetCurrenciesInfo beim Start, um verfügbare Handelspaare und unterstützte Währungen dynamisch zu ermitteln, statt sie fest in deiner Anwendung zu codieren.

Fehlerbehandlung

Alle Antworten von CEX.IO Plus enthalten ein Status-Feld. Behandle Fehlerantworten im Message-Event der Komponente, indem du Response-Status und Fehlerdetails prüfst. Häufige Fehler sind unzureichendes Guthaben, ungültige Paarnamen und Authentifizierungsfehler.