从 sgcWebSockets 2022.6.0 起,支持 OKX 加密货币经纪商。OKX 前称 OKEx,是最大的加密货币现货和衍生品交易所之一。OKX 是一家位于塞舌尔的加密货币交易所,提供现货和衍生品等各种金融工具的交易平台,核心功能包括现货和衍生品交易。
sgcWebSockets 支持包含公共和私有频道的 WebSocket API。还支持下单功能。
配置
WebSocket 频道分为两类:公共频道和私有频道。
- 公共频道:包括行情频道、K 线频道、限价频道、订单簿频道和标记价格频道等——无需登录。
- 私有频道:包括账户频道、订单频道和持仓频道等——需要登录。
您可以在 OKS 属性中配置以下属性。
- ApiKey:您可以在 OKX 账户中申请新的 API 密钥,将该值复制到此属性中。
- ApiSecret:API 的密钥值。
- Passphrase:创建新 API 密钥时定义的自定义字符串。
- IsDemo:启用后,将连接到 OKX 演示账户(默认禁用)。
- IsPrivate:启用后,您将能够连接到私有频道(默认禁用)。
连接
当客户端成功连接到 OKX 服务器时,将触发事件 OnOKXConnect。如果连接时出现任何错误,将触发事件 OnOKXError,并附带错误详情。
触发 OnOKXConnect 事件后,您就可以开始向 OKX 服务器发送和接收消息。
oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
DoLog('#OKX Connected');
end;
procedure OnOKXError(Sender: TObject; aCode, aMessage, aRawMessage: string);
begin
DoLog('#error: ' + aMessage);
end;
订阅频道
WebSocket 数据流提供订单和交易的实时市场数据更新。WebSocket 数据流有一些公共频道,如行情、交易等。
oClient := TsgcWebSocketClient.Create(nil); oOKX := TsgcWSAPI_OKX.Create(nil); oOKX.Client := oClient; oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf'; oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j'; oOKX.OKX.Passphrase := 'secret_passphrase'; oClient.Active := True; procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string); begin oOKX.SubscribeInstruments(okxitFutures); end;
下单
只有在资金充足的情况下才能下单。
// Place Martket Order TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1); // Place Limit Order TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);
