Da sgcWebSockets 4.5.0 l'API FTX è supportata.
API supportate
- API WebSockets: si connette a un server WebSocket pubblico e fornisce aggiornamenti dei dati di mercato in tempo reale.
- API REST: l'API REST ha endpoint per la gestione di account e ordini oltre ai dati di mercato pubblici.
API WebSocket FTX
Per connetterti all'API WebSocket di FTX, basta creare un nuovo client API FTX e collegarlo a TsgcWebSocketClient.
Trovi qui sotto un esempio:
oClient := TsgcWebSocketClient.Create(nil); oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.Client := oClient; oClient.Active := True;
FTX offre vari canali ai quali puoi sottoscriverti per ottenere aggiornamenti in tempo reale dei dati di mercato, degli ordini...
Trovi qui sotto un esempio di come sottoscriverti a 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 offre dati di mercato pubblici tramite endpoint REST; quando chiami uno di questi endpoint ottieni uno snapshot dei dati di mercato richiesti.
Gli endpoint Market Data non richiedono autenticazione, quindi sono liberamente disponibili a tutti gli utenti.
Esempio: per ottenere uno snapshot del mercato BTC-PERP esegui la seguente chiamata
oFTX := TsgcWSAPI_FTX.Create(nil);
ShowMessage(oFTX.REST_API.GetMarket('BTC-PERP'));
L'API REST di FTX offre endpoint pubblici e privati. Gli endpoint privati richiedono che i messaggi siano firmati per aumentare la sicurezza delle transazioni.
Devi prima accedere al tuo account FTX e creare una nuova API; otterrai i seguenti valori:
- ApiKey
- ApiSecret
Questi campi devono essere configurati nella proprietà FTX del componente client API FTX.
Una volta configurati, puoi iniziare a fare richieste private all'API REST di FTX
oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.FTX.ApiKey := '<your api key>'; oFTX.FTX.ApiSecret := '<your api secret>'; ShowMessage(oFTX.REST_API.GetAccount);
Inserire ordini
Market Order
Inserisci un nuovo Market Order, compra 0,002 contratti di 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
Inserisci un nuovo Limit Order, compra 0,002 contratti di BTC-PERP al prezzo limite di 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));
