Deribit 是一家加密货币衍生品交易所,提供比特币和以太坊的期货和期权交易。
您可以在 Deribit 属性中配置以下属性。
当客户端成功连接到 Deribit 服务器时,将触发事件 OnConnect。触发 OnConnect 事件后,您可以开始向 Deribit 服务器发送和接收消息。如果您正在连接私有 WebSocket 通道,则必须等待 OnDeribitAuthentication 事件触发,并确认 success 参数为 true,然后再订阅任何私有通道。
oClient := TsgcWebSocketClient.Create(nil);
oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Client := oClient;
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
oDeribit.Deribit.TestNet := False;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#Deribit Connected');
end;
Deribit 客户端实现了以下事件,用于控制连接流程并获取 WebSocket 服务器发送的数据:
WebSocket 数据流提供订单和交易的实时市场数据更新。
您可以订阅以下公共频道:
| 方法 | 描述 |
| SubscribeTicker | 订阅某个合约的行情流。提供实时价格和交易量数据。 |
| SubscribeTrades | 订阅某一品种的最新成交流。 |
| SubscribeOrderBook | 订阅订单薄数据流。支持可配置的分组、深度级别和更新间隔。 |
| SubscribeCandle | 订阅 K 线流。支持多种时间分辨率(例如 1、3、5、10、15、30、60、120、180、360、720、1D)。 |
| SubscribePerpetual | 订阅某个合约的永续合约数据,提供资金费率和其他永续合约特定信息。 |
| SubscribeBookChange | 订阅某合约的订单簿变动通知。 |
您可以订阅以下私有频道(需要认证):
| 方法 | 描述 |
| SubscribeOrders | 订阅某一标的的订单更新。 |
| SubscribePositions | 订阅持仓更新。支持按货币和合约种类过滤。 |
| SubscribeAccountChanges | 订阅某种货币的账户余额变动。 |
| SubscribeUserTrades | 订阅某个合约的用户成交更新。 |
以下是订阅 WebSocket 频道的示例。
procedure OnDeribitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string);
begin
if aSuccess then
begin
oDeribit.SubscribeOrders('BTC-PERPETUAL');
oDeribit.SubscribePositions('BTC');
end;
end;
REST API 提供公共和私有方法,用于从市场、交易、账户和钱包请求数据。通过组件的 REST_API 属性访问 REST API。
市场数据(公开)
| 方法 | 描述 |
| GetInstruments | 获取某种货币的可用工具。 |
| GetTicker | 获取某一金融工具的行情信息。 |
| GetOrderBook | 获取某个金融工具的订单簿。 |
| GetTrades | 获取某个合约的最新成交记录。 |
| GetCurrencies | 获取支持的货币列表。 |
| GetIndexPrice | 获取指定索引名称的当前指数价格。 |
| GetFundingRateHistory | 获取某合约的资金费率历史。 |
| GetFundingRateValue | 获取某一合约的当前资金费率值。 |
| GetBookSummaryByCurrency | 获取某种货币所有合约的账面摘要。 |
| GetBookSummaryByInstrument | 获取特定合约的账本摘要。 |
交易(私有)
| 方法 | 描述 |
| Buy | 下买入单。支持市价和限价订单类型。 |
| 卖出 | 下卖单。支持市价单和限价单类型。 |
| CancelOrder | 通过订单 ID 取消现有订单。 |
| CancelAllOrders | 取消所有未成交订单。 |
| CancelAllByInstrument | 取消特定合约的所有未结挂单。 |
| EditOrder | 编辑现有订单(修改数量或价格)。 |
| GetOpenOrders | 获取某个货币的未结订单列表。 |
| GetOrderState | 获取特定订单的状态。 |
| GetOrderHistory | 获取某货币的订单历史记录。 |
账户(私有)
| 方法 | 描述 |
| GetPositions | 获取某一货币的持仓信息。 |
| GetAccountSummary | 获取某货币的账户摘要。 |
| GetSubAccounts | 获取子账户列表。 |
| GetTransactionLog | 获取某种货币的交易日志。 |
钱包(私有)
| 方法 | 描述 |
| GetDeposits | 获取某一货币的充值历史。 |
| GetWithdrawals | 获取某种货币的提币历史记录。 |
| GetTransfers | 获取某种货币的转账历史记录。 |
以下是使用 REST API 的示例。
oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
// Get ticker
oDeribit.REST_API.GetTicker('BTC-PERPETUAL');
// Place a buy order
oDeribit.REST_API.Buy('BTC-PERPETUAL', 10, 'market');
// Get account summary
oDeribit.REST_API.GetAccountSummary('BTC');