Kucoin 允许您通过其 REST API 进行期货交易。
首先,您必须在 Kucoin 账户中创建一个 API Key 并添加期货交易权限。
完成此操作后,您即可开始期货交易。
首先,在 Kucoin 客户端组件中设置您的 ApiKey、ApiSecret 和 Passphrase,这将用于对发送到 Kucoin 服务器的请求进行签名。
要下新订单,只需调用 Kucoin 客户端组件的 REST_API.PlaceOrder 方法。
根据订单类型(市价、限价等),API 所需的字段多少有所不同。
| 参数 | type | 描述 |
|---|---|---|
| clientOid | String | 用户创建的唯一订单 ID,用于标识其订单,例如 UUID,仅允许数字、字符、下划线(_)和分隔符(-) |
| side | String | buy 或 sell |
| symbol | String | 有效的合约代码,例如 XBTUSDM |
| type | String | [可选],limit 或 market 二选一 |
| 杠杆 | String | 订单杠杆倍数 |
| 备注 | String | [可选] 订单备注,长度不得超过 100 个 UTF-8 字符 |
| stop | String | [可选] down 或 up 之一。需要定义 stopPrice 和 stopPriceType |
| stopPriceType | String | [可选] TP、IP 或 MP 之一,如果指定了 stop 则必须定义。 |
| stopPrice | String | [可选] 如果指定了 stop,则需要定义此项。 |
| reduceOnly | boolean | [可选] 标记以仅减少持仓量。默认设为 false。当 reduceOnly 为 true 时,需要设置持仓量。 |
| closeOrder | boolean | [可选]用于平仓的标记。默认设置为 false。当 closeOrder 为 true 时,将平掉所有持仓。 |
| forceHold | boolean | [可选] 一个标记,用于强制为订单保留资金,即使该订单旨在减少持仓规模。此标记有助于订单保留在订单簿中,避免在持仓规模变化时被取消。默认为 false。 |
| 参数 | type | 描述 |
|---|---|---|
| price | String | 限价 |
| size | Integer | 订单大小,必须为正数 |
| timeInForce | String | [可选] GTC、IOC(默认为 GTC),请参阅 Time In Force |
| postOnly | boolean | [可选] 仅挂单标志,当 timeInForce 为 IOC 时无效。选择 postOnly 时,不允许选择隐藏或冰山。 |
| hidden | boolean | [可选] 订单不显示在订单簿中。选择隐藏时,不允许同时选择 postOnly。 |
| iceberg | boolean | [可选] 订单簿中仅显示订单的可见部分。选择冰山订单时,不允许选择 postOnly。 |
| visibleSize | Integer | [可选] 冰山委托单的最大可见数量 |
| 参数 | type | 描述 |
|---|---|---|
| size | Integer | [可选] 买入或卖出的合约数量 |
1. 成功:函数 PlaceOrder 返回 Kucoin 服务器发送的消息。
2. 错误:异常将在 OnKucoinHTTPException 事件中返回。
以市价单买入 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));
在 40000 处下 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.PlaceLimitOrder(kosBuy, 'XBTUSDM', 1, 40000));