ByBit 클라이언트 API가 V5 버전으로 업그레이드되었어요. 다음 프로토콜을 지원해요:
- WebSocket API: WebSocket 서버에 연결하여 실시간 시장 데이터 업데이트, 계정 변경 등을 제공해요.
- REST API: HTTP 요청을 보내 시장 데이터 조회, 주문 접수, 계정 데이터를 가져와요...
속성
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
- bybPerpetual
- bybLinear
- bybFutures
WebSocket 현물 비공개 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 서버에 성공적으로 연결된 후 REST_API 속성에 접근하여 사용 가능한 구독/구독 취소 메서드를 호출해요.
WebSocket 채널 구독
성공적인 인증 후 비공개 현물 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.SubscribeOrderBook('BTCUSDT');
oClient.SubscribeTrade('BTCUSDT');
end;
end;
주문 접수
시장가 주문 접수 예제를 아래에서 확인해 보세요.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oBybit.REST_API.PlaceMarketOrder('BTCUSDT', bbosBuy, 1);
