Cliente Delphi para a API FTX

· Componentes

A partir do sgcWebSockets 4.5.0, a FTX API é suportada.

APIs suportadas

FTX WebSocket API 

Para conectar-se à FTX WebSocket API, basta criar um novo cliente FTX API e vinculá-lo ao TsgcWebSocketClient.

Veja abaixo um exemplo:

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

A FTX oferece uma variedade de canais nos quais você pode assinar para receber atualizações em tempo real de dados de mercado, ordens...

Veja abaixo um exemplo de como assinar um 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 

A FTX oferece Dados de Mercado públicos através de Endpoints REST; ao chamar um desses endpoints, você obterá um snapshot dos dados de mercado solicitados.

Os Endpoints de Dados de Mercado não exigem autenticação, portanto estão disponíveis gratuitamente para todos os usuários.

Exemplo: para obter um snapshot do mercado BTC-PERP, faça a seguinte chamada

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

A FTX REST API oferece endpoints públicos e privados. Os endpoints privados exigem que as mensagens sejam assinadas para aumentar a segurança das transações.

Primeiro você deve fazer login na sua conta FTX e criar uma nova API; você receberá os seguintes valores:


Esses campos devem ser configurados na propriedade FTX do componente cliente FTX API.

Uma vez configurado, você pode começar a fazer requisições privadas à 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); 

Colocar Ordens 

Ordem a Mercado

Coloca uma nova Ordem a Mercado, comprando 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)); 

Ordem Limitada

Coloca uma nova Ordem Limitada, comprando 0,002 contratos de BTC-PERP com preço limite 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));