Delphi FTX API-client

· Componenten

Vanaf sgcWebSockets 4.5.0 wordt de FTX-API ondersteund.

Ondersteunde API's

FTX WebSocket-API 

Om verbinding te maken met de FTX WebSocket-API, maak je gewoon een nieuwe FTX-API-client aan en koppel je die aan TsgcWebSocketClient.

Hieronder een voorbeeld:

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

FTX biedt verschillende kanalen waarop je je kunt abonneren om realtime-updates van marktdata, orders... te ontvangen.

Hieronder een voorbeeld van hoe je je abonneert op een 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;

FTX REST-API 

FTX biedt publieke marktdata via REST-endpoints. Wanneer je een van deze endpoints aanroept, krijg je een momentopname van de gevraagde marktdata.

De endpoints voor marktdata vereisen geen authenticatie en zijn dus vrij beschikbaar voor alle gebruikers.

Voorbeeld: om een momentopname op te vragen van de markt BTC-PERP, doe je de volgende aanroep

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

De FTX REST-API biedt publieke en privé-endpoints. De privé-endpoints vereisen dat berichten worden ondertekend om de veiligheid van transacties te verhogen.

Log eerst in op je FTX-account en maak een nieuwe API aan. Je krijgt dan de volgende waarden:


Deze velden moeten worden geconfigureerd in de eigenschap FTX van het FTX-API-client-component.

Na configuratie kun je beginnen met privé-requests naar de FTX REST-API

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

Orders plaatsen 

Market order

Plaats een nieuwe market order, koop 0,002 contracten 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));

Limit order

Plaats een nieuwe limit order, koop 0,002 contracten BTC-PERP tegen een prijslimiet van 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));