Kucoin consente di fare trading spot tramite la sua REST API.
Per prima cosa deve creare una API Key nel suo account Kucoin e aggiungere i privilegi per il trading con Spot.
Una volta completato, è possibile iniziare il trading spot.
Prima, impostare ApiKey, ApiSecret e Passphrase nel Componente Client Kucoin; questi verranno utilizzati per firmare le richieste inviate al server Kucoin.
Per inserire un nuovo ordine, chiamare il metodo REST_API.PlaceOrder del componente client Kucoin.
A seconda del tipo di ordine (market, limit...) l'API richiede più o meno campi.
| Param | tipo | Descrizione |
|---|---|---|
| clientOid | String | ID ordine univoco creato dagli utenti per identificare i propri ordini, ad esempio UUID. |
| side | String | buy o sell |
| symbol | String | un codice di simbolo di trading valido. es. ETH-BTC |
| tipo | String | [Opzionale] limit o market (predefinito è limit) |
| nota | String | [Facoltativo] nota per l'ordine, la lunghezza non può superare i 100 caratteri utf8 |
| stp | String | [Facoltativo] prevenzione del self trade, CN, CO, CB o DC |
| tradeType | String | [Opzionale] Il tipo di trading: TRADE(Trading Spot), MARGIN_TRADE (Trading a Margine). Il valore predefinito è TRADE. Nota: Per migliorare le prestazioni del sistema e accelerare l'inserimento e l'elaborazione degli ordini, KuCoin ha aggiunto una nuova interfaccia per l'inserimento degli ordini a margine. Per i trader che utilizzano ancora l'interfaccia attuale, si prega di passare a quella nuova il prima possibile. Quella attuale non accetterà più ordini a margine dal 1° maggio 2021 (UTC). In quel momento, KuCoin informerà gli utenti tramite annuncio; si prega di prestare attenzione. |
| Param | tipo | Descrizione |
|---|---|---|
| price | String | prezzo per valuta di base |
| size | String | quantità di valuta di base da acquistare o vendere |
| timeInForce | String | [Facoltativo] GTC, GTT, IOC, oppure FOK (il valore predefinito è GTC), consultare Time In Force. |
| cancelAfter | long | [Facoltativo] annulla dopo n secondi, richiede che timeInForce sia GTT |
| postOnly | boolean | [Opzionale] Flag post-only, non valido quando timeInForce è IOC o FOK |
| hidden | boolean | [Opzionale] L'ordine non verrà visualizzato nel libro degli ordini |
| iceberg | boolean | [Opzionale] Solo una parte dell'ordine viene visualizzata nell'order book |
| visibleSize | String | [Facoltativo] La dimensione massima visibile di un ordine iceberg |
| Param | tipo | Descrizione |
|---|---|---|
| size | String | [Opzionale] Importo desiderato nella valuta di base |
| fondi | String | [Opzionale] La quantità desiderata di valuta di quotazione da utilizzare |
Quando si invia un ordine, ci sono 2 possibilità:
1. Esito positivo: la funzione PlaceOrder restituisce il messaggio inviato dal server Kucoin.
2. Error: l'eccezione viene restituita nell'evento OnKucoinHTTPException.
Esegui ordine a mercato 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));
Inserisci ordine 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));