À partir de sgcWebSockets 2022.10.0, l'exchange crypto Bybit est pris en charge. APIs prises en charge :
- API WebSocket : se connecte à un serveur WebSocket et fournit des mises à jour de données de marché en temps réel, des changements de compte et plus.
- API REST : envoie des requêtes HTTP pour obtenir des données de marché, placer des ordres, des données de compte...
Les APIs produit suivantes sont implémentées :
- Spot (V3)
- USDT Perpetual (Futures V2)
- Inverse Perpetual (Futures V2)
- Inverse Futures (Futures V2)
Propriétés
Tu peux configurer les propriétés suivantes dans la propriété Bybit.
- ApiKey : tu peux demander une nouvelle clé API dans ton compte Bybit, il suffit de copier la valeur dans cette propriété. Si l'APIKey est défini, le client se connectera au serveur WebSocket privé. S'il est vide, il se connectera au serveur WebSocket public.
- ApiSecret : valeur secrète de l'API.
- SignatureExpires : nombre de secondes après lesquelles la signature expire (par défaut 10 secondes).
- TestNet : si activé, se connectera au compte démo TestNet Bybit (désactivé par défaut).
Connexion
Quand le client se connecte avec succès aux serveurs Bybit, l'événement OnConnect est déclenché. Après le déclenchement de l'événement OnConnect, tu peux commencer à envoyer et recevoir des messages vers/depuis les serveurs Bybit. Si tu te connectes au canal WebSocket privé, tu dois attendre que l'événement OnBybitAuthentication soit déclenché et vérifier si le paramètre success est true, avant de t'abonner à un canal.
Le client prend en charge plusieurs APIs ; utilise la propriété BybitClient pour définir quelle API tu veux utiliser :
- bybSpot
- bybInversePerpetual
- bybUSDTPerpetual
- bybInverseFutures
Tu trouveras ci-dessous un exemple de connexion à l'API WebSocket Spot privée.
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;
Après une connexion réussie au serveur WebSocket Spot, tu peux commencer à t'abonner aux canaux WebSocket : accède simplement à la propriété SPOT puis appelle l'une des méthodes subscribe/unsubscribe disponibles.
Tu trouveras ci-dessous la liste des objets APIs Bybit :
- SPOT
- INVERSE_PERPETUAL
- USDT_PERPETUAL
- INVERSE_FUTURES
S'abonner aux canaux WebSocket
Tu trouveras ci-dessous un exemple d'abonnement aux canaux WebSocket Spot privés après une authentification réussie.
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;
Placer des ordres
Tu trouveras ci-dessous un exemple de placement d'un ordre market pour 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);
