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
- Erste Schritte
- Öffentliche WebSocket-Methoden
- Marktdaten-Methoden
- Konto- und Trading-Methoden
- Code-Beispiel
- Konfiguration und Hinweise
Ü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.
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.
