sgcWebSockets 2022.10.0부터 Bybit 암호화폐 거래소를 지원해요. 다음 API를 지원해요
- WebSocket API: WebSocket 서버에 연결하여 실시간 시장 데이터 업데이트, 계정 변경 등을 제공해요.
- REST API: HTTP 요청을 보내어 시장 데이터, 주문, 계정 데이터 등을 가져와요.
다음 제품 API가 구현되어 있어요:
- 현물 (V3)
- USDT 영구 계약 (선물 V2)
- 인버스 영구 계약 (선물 V2)
- 인버스 선물 (선물 V2)
속성
Bybit 속성에서 다음 속성들을 설정할 수 있어요.
- ApiKey: Bybit 계정에서 새 API 키를 요청한 다음 이 속성에 값을 복사하세요. APIKey가 설정되면 클라이언트는 WebSocket 비공개 서버에 연결해요. 비어 있으면 WebSocket 공개 서버에 연결해요.
- ApiSecret: API의 시크릿 값이에요.
- SignatureExpires: 서명이 만료되기까지의 초 수예요(기본값: 10초).
- TestNet: 활성화하면 Bybit TestNet 데모 계정에 연결해요(기본적으로 비활성화).
연결
클라이언트가 Bybit 서버에 성공적으로 연결되면 OnConnect 이벤트가 발생해요. OnConnect 이벤트가 발생한 후에는 Bybit 서버로 메시지를 보내고 받을 수 있어요. 비공개 WebSocket 채널에 연결 중이라면 채널에 구독하기 전에 OnBybitAuthentication 이벤트가 발생하고 success 매개변수가 true인지 확인해야 해요.
클라이언트는 여러 API를 지원하므로 BybitClient 속성을 사용하여 사용하려는 API를 설정하세요:
- bybSpot
- bybInversePerpetual
- bybUSDTPerpetual
- bybInverseFutures
WebSocket Spot 비공개 API 연결 예제를 아래에서 확인해 보세요.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#Bybit Connected');
end;
현물 WebSocket 서버에 성공적으로 연결된 후 SPOT 속성에 접근하여 사용 가능한 구독/구독 취소 메서드를 호출해요.
Bybit API 객체 목록을 아래에서 확인해 보세요:
- SPOT
- INVERSE_PERPETUAL
- USDT_PERPETUAL
- INVERSE_FUTURES
WebSocket 채널 구독
인증에 성공한 후 비공개 Spot WebSocket 채널을 구독하는 예제를 아래에서 확인해 보세요.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnBybitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string)
begin
if aSuccess then
begin
oClient.SubscribeOrder;
oClient.SubscribeStopOrder;
end;
end;
주문 접수
USDT 영구 계약의 시장가 주문 접수 예제를 아래에서 확인해 보세요.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybUSDTPerpetual;
oBybit.USDT_PERPETUAL.REST_API.PlaceMarketOrder('BTCUSDT', bbosBuy, 1);
