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:
- Streams WebSocket: permite se inscrever em alguns métodos e obter dados em tempo real. Os eventos são enviados aos clientes pelo servidor para os inscritos. Usa WebSocket como protocolo.
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));
