A Kucoin permite que você negocie Futures usando sua REST API.
Primeiro você deve criar uma API Key em sua conta Kucoin e adicionar privilégios para negociar com Futures.
Uma vez feito isto, você pode começar a negociar futures.
Primeiro, defina sua ApiKey, ApiSecret e Passphrase no componente Kucoin Client, isto será utilizado para assinar as requisições enviadas ao servidor Kucoin.
Para colocar uma nova ordem, basta chamar o método REST_API.PlaceOrder do Componente Cliente Kucoin.
Dependendo do tipo da ordem (market, limit...), a API requer mais ou menos campos.
| Param | type | Descrição |
|---|---|---|
| clientOid | String | Id de ordem único criado pelos usuários para identificar suas ordens, por exemplo UUID. Permite apenas números, caracteres, underline(_) e separador(-) |
| side | String | buy ou sell |
| symbol | String | um código de contrato válido. por exemplo XBTUSDM |
| type | String | [opcional] limit ou market |
| leverage | String | Alavancagem da ordem |
| remark | String | [opcional] observação para a ordem, o comprimento não pode exceder 100 caracteres utf8 |
| stop | String | [opcional] down ou up. Requer que stopPrice e stopPriceType estejam definidos |
| stopPriceType | String | [opcional] Seja TP, IP ou MP, precisa ser definido se stop for especificado. |
| stopPrice | String | [opcional] Precisa ser definido se stop for especificado. |
| reduceOnly | boolean | [opcional] Uma marca para reduzir somente o tamanho da posição. Definido como false por padrão. É necessário definir o tamanho da posição quando reduceOnly é true. |
| closeOrder | boolean | [opcional] Uma marca para fechar a posição. Definida como false por padrão. Fechará todas as posições quando closeOrder for true. |
| forceHold | boolean | [opcional] Uma marca para reter os fundos de uma ordem à força, mesmo sendo uma ordem para reduzir o tamanho da posição. Isso ajuda a ordem a permanecer no order book e a não ser cancelada quando o tamanho da posição muda. Definida como false por padrão. |
| Param | type | Descrição |
|---|---|---|
| price | String | Limit price |
| size | Integer | Tamanho da ordem. Deve ser um número positivo |
| timeInForce | String | [opcional] GTC, IOC(o padrão é GTC), leia Time In Force |
| postOnly | boolean | [opcional] Flag Post only, inválida quando timeInForce é IOC. Quando postOnly é escolhido, não é permitido escolher hidden ou iceberg. |
| hidden | boolean | [opcional] Ordens não exibidas no order book. Quando hidden é escolhido, não é permitido escolher postOnly. |
| iceberg | boolean | [opcional] Apenas a parte visível da ordem é exibida no order book. Quando iceberg é escolhido, não é permitido escolher postOnly. |
| visibleSize | Integer | [opcional] O tamanho máximo visível de uma ordem iceberg |
| Param | type | Descrição |
|---|---|---|
| size | Integer | [opcional] quantidade de contrato a comprar ou vender |
1. Successful: a função PlaceOrder retorna a mensagem enviada pelo servidor Kucoin.
2. Error: a exceção é retornada no evento OnKucoinHTTPException.
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));