Client API Delphi FTX

· Composants

Depuis sgcWebSockets 4.5.0, l'API FTX est prise en charge.

APIs prises en charge

API WebSocket FTX 

Pour te connecter à l'API WebSocket FTX, il te suffit de créer un nouveau client API FTX et de le rattacher à TsgcWebSocketClient.

Voici un exemple :

oClient := TsgcWebSocketClient.Create(nil);
oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.Client := oClient;
oClient.Active := True; 

FTX propose une variété de canaux auxquels tu peux t'abonner pour recevoir des mises à jour en temps réel des données de marché, des ordres...

Voici un exemple d'abonnement à un ticker :

oClient := TsgcWebSocketClient.Create(nil);
oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.Client := oClient;
oFTX.SubscribeTicker('BTC-PERP');
procedure OnFTXMessage(Sender: TObject; aType, aRawMessage: string);
begin
// here you will receive the ticker updates
end; 

API REST FTX 

FTX propose des données de marché publiques via des endpoints REST, quand tu appelles l'un de ces endpoints, tu obtiens un instantané des données de marché demandées.

Les endpoints de données de marché ne nécessitent pas d'authentification, ils sont donc librement disponibles pour tous les utilisateurs.

Exemple : pour obtenir un instantané du marché BTC-PERP, effectue l'appel suivant

oFTX := TsgcWSAPI_FTX.Create(nil);
ShowMessage(oFTX.REST_API.GetMarket('BTC-PERP')); 

L'API REST FTX propose des endpoints publics et privés. Les endpoints privés nécessitent que les messages soient signés pour renforcer la sécurité des transactions.

Tu dois d'abord te connecter à ton compte FTX et créer une nouvelle API, tu obtiendras les valeurs suivantes :


Ces champs doivent être configurés dans la propriété FTX du composant client API FTX.

Une fois configurés, tu peux commencer à effectuer des requêtes privées vers l'API REST FTX

oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.FTX.ApiKey := '<your api key>';
oFTX.FTX.ApiSecret := '<your api secret>';
ShowMessage(oFTX.REST_API.GetAccount); 

Passer des ordres 

Ordre au marché

Place un nouvel ordre au marché, achète 0.002 contrats de BTC-PERP

oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.FTX.ApiKey := 'your api key';
oFTX.FTX.ApiSecret := 'your api secret';
ShowMessage(oFTX.REST_API.PlaceMarketOrder('BTC-PERP', ftosBuy, 0.002)); 

Ordre à cours limité

Place un nouvel ordre à cours limité, achète 0.002 contrats de BTC-PERP au prix limite de 10000 

oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.FTX.ApiKey := 'your api key';
oFTX.FTX.ApiSecret := 'your api secret';
ShowMessage(oFTX.REST_API.PlaceLimitOrder('BTC-PERP', ftosBuy, 0.002, 10000));