Kucoin umożliwia handel kontraktami futures za pośrednictwem REST API.
Najpierw należy utworzyć klucz API na koncie Kucoin i dodać uprawnienia do handlu kontraktami Futures.
Po wykonaniu tych czynności można rozpocząć handel kontraktami terminowymi.
Najpierw ustaw ApiKey, ApiSecret i Passphrase w komponencie klienta Kucoin; wartości te będą używane do podpisywania żądań wysyłanych do serwera Kucoin.
Aby złożyć nowe zlecenie, wystarczy wywołać metodę REST_API.PlaceOrder komponentu klienta Kucoin.
W zależności od typu zlecenia (rynkowe, limit...) API wymaga mniejszej lub większej liczby pól.
| Parametr | type | Opis |
|---|---|---|
| clientOid | String | Unikalny identyfikator zamówienia tworzony przez użytkowników w celu identyfikacji ich zleceń, np. UUID. Dozwolone są wyłącznie cyfry, litery, podkreślenie (_) oraz separator (-). |
| strona | String | kupno lub sprzedaż |
| symbol | String | prawidłowy kod kontraktu, np. XBTUSDM |
| type | String | [opcjonalnie] Albo limit, albo market |
| dźwignia | String | Dźwignia zlecenia |
| uwaga | String | [opcjonalnie] uwaga do zlecenia; długość nie może przekraczać 100 znaków utf8 |
| stop | String | [opcjonalnie] Wartość down lub up. Wymaga zdefiniowania stopPrice i stopPriceType |
| stopPriceType | String | [opcjonalne] Wartość TP, IP lub MP; musi być zdefiniowana, jeśli podano parametr stop. |
| stopPrice | String | [opcjonalne] Musi być zdefiniowane, jeśli podano parametr stop. |
| reduceOnly | boolean | [opcjonalnie] Znacznik ograniczający wyłącznie do zmniejszania pozycji. Domyślnie ustawiony na false. Gdy reduceOnly ma wartość true, wymagane jest podanie rozmiaru pozycji. |
| closeOrder | boolean | [opcjonalnie] Znacznik zamknięcia pozycji. Domyślnie ustawiony na false. Zamyka wszystkie pozycje, gdy closeOrder ma wartość true. |
| forceHold | boolean | [opcjonalnie] Znacznik wymuszający blokadę środków dla zlecenia, nawet jeśli jest to zlecenie zmniejszające rozmiar pozycji. Pomaga to utrzymać zlecenie w arkuszu zleceń i zapobiega jego anulowaniu w przypadku zmiany rozmiaru pozycji. Domyślnie ustawione na false. |
| Param | type | Opis |
|---|---|---|
| cena | String | Cena limitowana |
| rozmiar | Integer | Rozmiar zlecenia. Musi być liczbą dodatnią |
| timeInForce | String | [opcjonalne] GTC, IOC (domyślnie GTC), zob. Time In Force |
| postOnly | boolean | [opcjonalnie] Flaga tylko dla zleceń post, nieprawidłowa gdy timeInForce wynosi IOC. Przy wyborze postOnly nie można wybrać opcji hidden ani iceberg. |
| ukryty | boolean | [opcjonalnie] Zlecenia niewidoczne w arkuszu zleceń. Po wybraniu opcji ukrycia, wybór postOnly jest niedozwolony. |
| iceberg | boolean | [opcjonalne] W księdze zleceń wyświetlana jest tylko widoczna część zlecenia. Po wybraniu opcji iceberg nie można wybrać postOnly. |
| visibleSize | Integer | [opcjonalnie] Maksymalny widoczny rozmiar zlecenia iceberg |
| Param | type | Opis |
|---|---|---|
| size | Integer | [opcjonalnie] liczba kontraktów do kupienia lub sprzedania |
1. Sukces: funkcja PlaceOrder zwraca wiadomość wysłaną przez serwer Kucoin.
2. Error: wyjątek jest zwracany w zdarzeniu OnKucoinHTTPException.
Złóż zlecenie rynkowe na 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));
Złóż zlecenie Limit 1 XBTUSDM po cenie 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));