Kucoin은 REST API를 사용하여 현물 거래를 할 수 있게 합니다.
먼저 Kucoin 계정에서 API Key를 생성하고 Spot 거래 권한을 추가해야 합니다.
이 작업이 완료되면 현물 거래를 시작할 수 있습니다.
먼저, Kucoin Client 구성 요소에서 ApiKey, ApiSecret 및 Passphrase를 설정하십시오. 이는 Kucoin 서버로 전송되는 요청에 서명하는 데 사용됩니다.
새 주문을 배치하려면 Kucoin Client 구성 요소의 REST_API.PlaceOrder 메서드를 호출하면 됩니다.
주문 유형(market, limit...)에 따라 API는 더 많거나 적은 필드를 요구합니다.
| Param | type | 설명 |
|---|---|---|
| clientOid | String | 사용자가 자신의 주문을 식별하기 위해 생성한 고유 주문 id, 예: UUID. |
| side | String | buy 또는 sell |
| symbol | String | 유효한 거래 심볼 코드. 예: ETH-BTC |
| type | String | [선택] limit 또는 market (기본값은 limit) |
| remark | String | [선택적] 주문에 대한 비고이며, 길이는 100 utf8 문자를 초과할 수 없습니다 |
| stp | String | [선택 사항] self trade prevention , CN, CO, CB 또는 DC |
| tradeType | String | [선택 사항] 거래 유형: TRADE(Spot Trade), MARGIN_TRADE (Margin Trade). 기본값은 TRADE입니다. 참고: 시스템 성능을 개선하고 주문 배치 및 처리를 가속화하기 위해, KuCoin은 margin 주문 배치를 위한 새 인터페이스를 추가했습니다. 현재 인터페이스를 계속 사용하는 트레이더는 가능한 한 빨리 새 인터페이스로 이동하십시오. 현재 인터페이스는 2021년 5월 1일(UTC)부터 더 이상 margin 주문을 수락하지 않습니다. 그때 KuCoin은 공지를 통해 사용자에게 알릴 것이니, 주의를 기울이십시오. |
| Param | type | 설명 |
|---|---|---|
| price | String | 기준 통화당 가격 |
| size | String | 매수 또는 매도할 기축 통화의 수량입니다 |
| timeInForce | String | [선택적] GTC, GTT, IOC, 또는 FOK (기본값은 GTC), Time In Force를 읽으십시오. |
| cancelAfter | long | [Optional] n 초 후 취소, timeInForce 가 GTT여야 합니다 |
| postOnly | boolean | [선택적] Post only 플래그이며, timeInForce 가 IOC 또는 FOK일 때 유효하지 않습니다 |
| hidden | boolean | [선택 사항] 주문이 order book에 표시되지 않습니다 |
| iceberg | boolean | [선택] 주문의 일부만 오더북에 표시됩니다 |
| visibleSize | String | [선택적] iceberg 주문의 최대 가시 크기 |
| Param | type | 설명 |
|---|---|---|
| size | String | [선택적] 기준 통화로 표시된 원하는 금액 |
| funds | String | [선택적] 사용할 quote currency의 원하는 양입니다 |
주문을 보낼 때 두 가지 가능성이 있습니다:
1. 성공: PlaceOrder 함수는 Kucoin 서버가 보낸 메시지를 반환합니다.
2. Error: 예외는 OnKucoinHTTPException 이벤트에서 반환됩니다.
시장가 주문 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));
40000에 1 BTC-USDT Limit Order 배치
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));