Cliente FTX API para Delphi

· Componentes

A partir de sgcWebSockets 4.5.0 se admite la API de FTX.

APIs compatibles

API WebSocket de FTX 

Para conectar a la API WebSocket de FTX, basta con crear un nuevo cliente FTX API y asociarlo a un TsgcWebSocketClient.

A continuación tienes un ejemplo:

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

FTX ofrece varios canales a los que puedes suscribirte para recibir actualizaciones en tiempo real de datos de mercado, órdenes...

A continuación tienes un ejemplo de cómo suscribirse 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 de FTX 

FTX ofrece datos públicos de mercado mediante endpoints REST. Cuando llamas a uno de estos endpoints, obtienes una instantánea de los datos de mercado solicitados.

Los endpoints de Market Data no requieren autenticación, por lo que están disponibles libremente para todos los usuarios.

Ejemplo: para obtener una instantánea del mercado BTC-PERP, haz la siguiente llamada

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

La API REST de FTX ofrece endpoints públicos y privados. Los endpoints privados requieren que los mensajes vayan firmados para aumentar la seguridad de las transacciones.

Primero debes iniciar sesión en tu cuenta de FTX y crear una nueva API; obtendrás los siguientes valores:


Estos campos deben configurarse en la propiedad FTX del componente cliente FTX API.

Una vez configurados, puedes empezar a hacer peticiones privadas a la API REST de FTX

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

Crear órdenes 

Market Order

Coloca una nueva orden de mercado: compra 0.002 contratos 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)); 

Limit Order

Coloca una nueva orden limitada: compra 0.002 contratos de BTC-PERP con un precio límite 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));