A Kucoin permite que você negocie no mercado spot utilizando sua REST API.
Primeiro você deve criar uma API Key na sua conta Kucoin e adicionar privilégios para negociar com Spot.
Uma vez feito isso, você pode iniciar o spot trading.
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. |
| side | String | buy ou sell |
| symbol | String | um código de símbolo de negociação válido. Por exemplo, ETH-BTC |
| type | String | [Opcional] limit ou market (o padrão é limit) |
| remark | String | [Opcional] observação para a ordem, o comprimento não pode exceder 100 caracteres utf8 |
| stp | String | [Opcional] self trade prevention , CN, CO, CB ou DC |
| tradeType | String | [Opcional] O tipo de trading: TRADE(Spot Trade), MARGIN_TRADE (Margin Trade). O padrão é TRADE. Nota: Para melhorar o desempenho do sistema e acelerar a colocação e o processamento de ordens, a KuCoin adicionou uma nova interface para a colocação de ordens de margem. Para os traders que ainda utilizam a interface atual, mude para a nova o mais rápido possível. A atual deixará de aceitar margin orders a partir de 1º de maio de 2021 (UTC). Na ocasião, a KuCoin notificará os usuários por meio do anúncio; preste atenção a ele. |
| Param | type | Descrição |
|---|---|---|
| price | String | preço por moeda base |
| size | String | quantidade de moeda base a comprar ou vender |
| timeInForce | String | [Opcional] GTC, GTT, IOC, ou FOK (o padrão é GTC), leia Time In Force. |
| cancelAfter | long | [Opcional] cancela após n segundos, requer que timeInForce seja GTT |
| postOnly | boolean | [Opcional] Flag de post only, inválido quando timeInForce é IOC ou FOK |
| hidden | boolean | [Opcional] A ordem não será exibida no order book |
| iceberg | boolean | [Opcional] Apenas uma parte da ordem é exibida no order book |
| visibleSize | String | [Opcional] O tamanho máximo visível de uma ordem iceberg |
| Param | type | Descrição |
|---|---|---|
| size | String | [Opcional] Quantia desejada na moeda base |
| funds | String | [Opcional] A quantidade desejada de moeda de cotação a usar |
Ao enviar uma ordem, há 2 possibilidades:
1. Successful: a função PlaceOrder retorna a mensagem enviada pelo servidor Kucoin.
2. Error: a exceção é retornada no evento OnKucoinHTTPException.
Enviar Ordem a Mercado 1 BTC-USDT
oKucoin := TsgcWSAPI_Kucoin.Create(nil);
oKucoin.Kucoin.ApiKey := '<api key>';
oKucoin.Kucoin.ApiSecret := '<api secret>';
oKucoin.Kucoin.Passphrase := '<passphrase>';
ShowMessage(oKucoin.REST_API.PlaceMarketOrder(kosBuy, 'BTC-USDT', 1));
Colocar Ordem Limite 1 BTC-USDT a 40000
oKucoin := TsgcWSAPI_Kucoin.Create(nil);
oKucoin.Kucoin.ApiKey := '<api key>';
oKucoin.Kucoin.ApiSecret := '<api secret>';
oKucoin.Kucoin.Passphrase := '<passphrase>';
ShowMessage(oKucoin.REST_API.PlaceLimitOrder(kosBuy, 'BTC-USDT', 1, 40000));