Ab sgcWebSockets 2022.10.0 wird die Bybit Crypto Exchange unterstützt. Die folgenden APIs werden unterstützt
- WebSocket API: verbindet sich mit einem WebSocket-Server und liefert Marktdaten-Updates in Echtzeit, Kontoänderungen und mehr.
- REST API: sendet HTTP-Anfragen, um Marktdaten abzurufen, Orders zu platzieren, Kontodaten zu erhalten...
Die folgenden Produkt-APIs sind implementiert:
- Spot (V3)
- USDT Perpetual (Futures V2)
- Inverse Perpetual (Futures V2)
- Inverse Futures (Futures V2)
Eigenschaften
Du kannst die folgenden Eigenschaften in der Bybit-Property konfigurieren.
- ApiKey: Du kannst in deinem Bybit-Konto einen neuen API-Schlüssel anfordern. Kopiere einfach den Wert in diese Eigenschaft. Ist der APIKey gesetzt, verbindet sich der Client mit dem privaten WebSocket-Server. Ist er leer, verbindet er sich mit dem öffentlichen WebSocket-Server.
- ApiSecret: das Secret der API.
- SignatureExpires: Anzahl der Sekunden, nach denen die Signatur abläuft (standardmäßig 10 Sekunden).
- TestNet: wenn aktiviert, verbindet sich der Client mit dem Bybit TestNet-Demokonto (standardmäßig deaktiviert).
Verbindung
Wenn der Client erfolgreich eine Verbindung zu den Bybit-Servern herstellt, wird das Ereignis OnConnect ausgelöst. Nach dem Auslösen des Ereignisses OnConnect kannst du Nachrichten mit den Bybit-Servern senden und empfangen. Wenn du dich mit dem privaten WebSocket-Channel verbindest, musst du warten, bis das Ereignis OnBybitAuthentication ausgelöst wurde, und prüfen, ob der Success-Parameter true ist, bevor du Channels abonnierst.
Der Client unterstützt mehrere APIs. Verwende die Eigenschaft BybitClient, um festzulegen, welche API du verwenden möchtest:
- bybSpot
- bybInversePerpetual
- bybUSDTPerpetual
- bybInverseFutures
Unten findest du ein Beispiel für die Verbindung zur privaten WebSocket Spot API.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#Bybit Connected');
end;
Nach einer erfolgreichen Verbindung mit dem Spot-WebSocket-Server kannst du WebSocket-Channels abonnieren. Greife dazu einfach auf die Eigenschaft SPOT zu und rufe dann eine der verfügbaren Subscribe-/Unsubscribe-Methoden auf.
Unten findest du die Liste der Bybit-API-Objekte:
- SPOT
- INVERSE_PERPETUAL
- USDT_PERPETUAL
- INVERSE_FUTURES
WebSocket-Channels abonnieren
Unten findest du ein Beispiel für das Abonnieren der privaten Spot-WebSocket-Channels nach erfolgreicher Authentifizierung.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnBybitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string)
begin
if aSuccess then
begin
oClient.SubscribeOrder;
oClient.SubscribeStopOrder;
end;
end;
Orders platzieren
Unten findest du ein Beispiel für das Platzieren einer Market Order für USDT Perpetual.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybUSDTPerpetual;
oBybit.USDT_PERPETUAL.REST_API.PlaceMarketOrder('BTCUSDT', bbosBuy, 1);
