Cliente Delphi Kucoin Futures API

· Componentes

A partir do sgcWebSockets 2022.3.0, a API Kucoin Futures é compatível. O Kucoin é uma exchange internacional de criptomoedas multilíngue. Ele oferece algumas APIs para acessar os dados do Kucoin. As seguintes APIs são suportadas:

REST API: os clientes podem solicitar ao servidor dados de mercado e da conta. Requer uma API Key, Secret e Passphrase para autenticar e usa HTTPs como protocolo.

Como usar a API WebSocket Feed 

Para se conectar à API WebSocket do Kucoin, basta criar um novo cliente Kucoin API e anexá-lo a um TsgcWebSocketClient.

Veja abaixo um exemplo:

oClient := TsgcWebSocketClient.Create(nil);
oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil);
oKucoin.Client := oClient;
oClient.Active := True;

O Kucoin oferece uma variedade de canais nos quais você pode se inscrever para obter atualizações em tempo real de dados de mercado, ordens... Veja abaixo um exemplo de como se inscrever em um Ticker:

oClient := TsgcWebSocketClient.Create(nil);
oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil);
oKucoin.Client := oClient;
oKucoin.SubscribeSymbolTickerV2('XBTUSDM');
procedure OnMessage(Connection: TsgcWSConnection; const aText: string);
begin
// aqui você receberá as atualizações do ticker
end;

Como colocar ordens 

Primeiro você deve criar uma API Key na sua conta Kucoin e adicionar privilégios para negociação com Futures.

Feito isso, você pode iniciar a negociação de futures.

Primeiro, defina sua ApiKey, ApiSecret e Passphrase no componente Kucoin Client, isso será usado para assinar as requisições enviadas ao servidor Kucoin.

// Place Market Order 1 XBTUSDM
oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil);
oKucoin.Kucoin.ApiKey := '<api key>';
oKucoin.Kucoin.ApiSecret := '<api secret>';
oKucoin.Kucoin.Passphrase := '<passphrase>';
ShowMessage(oKucoin.REST_API.PlaceMarketOrder(kosBuy, 'XBTUSDM', 1));
// Place Limit Order 1 XBTUSDM at 40000
oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil);
oKucoin.Kucoin.ApiKey := '<api key>';
oKucoin.Kucoin.ApiSecret := '<api secret>';
oKucoin.Kucoin.Passphrase := '<passphrase>';
ShowMessage(oKucoin.REST_API.PlaceLimitOrder(kosBuy, 'XBTUSDM', 1, 40000));