Cliente Kucoin Futures API para Delphi

· Componentes

A partir de sgcWebSockets 2022.3.0 se admite la API de Kucoin Futures. Kucoin es un exchange internacional multilingüe de criptomonedas. Ofrece varias APIs para acceder a los datos de Kucoin. Se admiten las siguientes APIs:

API REST: los clientes pueden solicitar al servidor datos de mercado y de cuenta. Requiere una API Key, Secret y Passphrase para autenticarse y usa HTTPs como protocolo.

Cómo usar la API del feed WebSocket 

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

A continuación tienes un ejemplo:

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

Kucoin 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);
oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil);
oKucoin.Client := oClient;
oKucoin.SubscribeSymbolTickerV2('XBTUSDM');
procedure OnMessage(Connection: TsgcWSConnection; const aText: string);
begin
// here you will receive the ticker updates
end; 

Cómo crear órdenes 

Primero debes crear una API Key en tu cuenta de Kucoin y añadir privilegios para operar con Futures.

Una vez hecho esto, puedes empezar a operar con futuros.

Primero, configura tu ApiKey, ApiSecret y Passphrase en el componente cliente Kucoin; esto se usará para firmar las peticiones enviadas al servidor de 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));