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:
- Streams WebSocket: permite suscribirse a algunos métodos y obtener datos en tiempo real. El servidor envía eventos a los clientes suscritos. Usa WebSocket como protocolo.
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));
