Ab sgcWebSockets 4.5.0 wird die FTX-API unterstützt.
Unterstützte APIs
- WebSockets-API: Verbindet sich mit einem öffentlichen WebSocket-Server und liefert Echtzeit-Updates zu Marktdaten.
- REST-API: Die REST-API bietet Endpunkte für die Konto- und Auftragsverwaltung sowie für öffentliche Marktdaten.
FTX WebSocket-API
Um dich mit der FTX-WebSocket-API zu verbinden, erstellst du einfach einen neuen FTX-API-Client und hängst ihn an einen TsgcWebSocketClient.
Hier ein Beispiel:
oClient := TsgcWebSocketClient.Create(nil); oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.Client := oClient; oClient.Active := True;
FTX bietet eine Vielzahl von Kanälen, die du abonnieren kannst, um Echtzeit-Updates zu Marktdaten, Orders usw. zu erhalten.
Hier ein Beispiel, wie du einen Ticker abonnierst:
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 bietet öffentliche Marktdaten über REST-Endpunkte. Beim Aufruf eines dieser Endpunkte erhältst du einen Snapshot der angefragten Marktdaten.
Die Marktdaten-Endpunkte erfordern keine Authentifizierung und sind allen Nutzern frei zugänglich.
Beispiel: Um einen Snapshot des Marktes BTC-PERP zu erhalten, führst du den folgenden Aufruf aus:
oFTX := TsgcWSAPI_FTX.Create(nil);
ShowMessage(oFTX.REST_API.GetMarket('BTC-PERP'));
Die FTX REST-API bietet öffentliche und private Endpunkte. Die privaten Endpunkte erfordern signierte Nachrichten, um die Sicherheit der Transaktionen zu erhöhen.
Melde dich zuerst in deinem FTX-Konto an und lege eine neue API an. Du erhältst die folgenden Werte:
- ApiKey
- ApiSecret
Diese Felder müssen in der Eigenschaft FTX der FTX-API-Client-Komponente konfiguriert werden.
Nach der Konfiguration kannst du private Anfragen an die FTX-REST-API ausführen.
oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.FTX.ApiKey := '<your api key>'; oFTX.FTX.ApiSecret := '<your api secret>'; ShowMessage(oFTX.REST_API.GetAccount);
Orders platzieren
Market Order
Lege eine neue Market Order an: kaufe 0,002 Kontrakte 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
Lege eine neue Limit Order an: kaufe 0,002 Kontrakte BTC-PERP mit Preislimit 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));
