Vanaf sgcWebSockets 4.5.0 wordt de FTX-API ondersteund.
Ondersteunde API's
- WebSockets-API: maakt verbinding met een publieke WebSocket-server en levert realtime-marktdata-updates.
- REST-API: de REST-API biedt endpoints voor account- en orderbeheer en voor publieke marktdata.
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:
- ApiKey
- ApiSecret
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));
