CEX.IO Plus는 CEX.IO의 고급 트레이딩 플랫폼으로, 전문 및 기관 트레이더를 위해 설계되었어요. TsgcWSAPI_CexPlus 컴포넌트는 시장 데이터 구독, 주문 관리, 계좌 운영, 자금 이체 등 WebSocket API에 대한 포괄적인 Delphi 접근을 단일 지속 연결을 통해 제공해요.
Table of Contents
개요
CEX.IO Plus API는 표준 CEX.IO 기능을 크게 확장해요. 실시간 호가창과 거래 피드를 위한 공개 구독, 티커·캔들·거래소 정보의 온디맨드 스냅샷을 위한 시장 데이터 조회, 주문 관리·수수료 조회·거래 내역·자금 이체를 포함한 전체 거래 운영을 위한 계좌 메서드의 세 가지 기능 계층을 제공해요. TsgcWSAPI_CexPlus 컴포넌트가 이 모든 기능을 캡슐화해요.
시작하기
TsgcWebSocketClient와 TsgcWSAPI_CexPlus 컴포넌트를 생성하고 연결한 후 API 인증 정보를 설정하세요. 컴포넌트가 CEX.IO Plus WebSocket 엔드포인트에 자동으로 연결해요.
oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
참고: CEX.IO Plus는 표준 CEX.IO API와 다른 API 엔드포인트와 인증 방식을 사용해요. API 인증 정보가 표준 CEX.IO 플랫폼이 아닌 CEX.IO Plus 대시보드에서 생성되었는지 확인하세요.
공개 WebSocket 메서드
공개 구독 메서드는 인증 없이 실시간 데이터를 스트리밍해요. 시장 모니터링과 실시간 데이터 피드 구축에 적합해요.
| Method | Description |
|---|---|
SubscribeOrderBook |
거래 쌍의 실시간 호가창 업데이트를 구독해요. |
UnSubscribeOrderBook |
거래 쌍의 호가창 업데이트 구독을 취소해요. |
SubscribeTrade |
거래 쌍의 실시간 체결 피드를 구독해요. |
UnSubscribeTrade |
체결 피드 구독을 취소해요. |
// Subscribe to BTC-USD order book and trades
oCexPlus.SubscribeOrderBook('BTC-USD');
oCexPlus.SubscribeTrade('BTC-USD');
// Unsubscribe when no longer needed
oCexPlus.UnSubscribeOrderBook('BTC-USD');
oCexPlus.UnSubscribeTrade('BTC-USD');
시장 데이터 메서드
시장 데이터 메서드는 거래소 데이터의 온디맨드 스냅샷을 반환해요. 구독과 달리 단일 결과를 반환하는 요청-응답 호출이에요.
| Method | Description |
|---|---|
GetTicker |
쌍의 현재 티커(매수호가, 매도호가, 최종 가격)를 조회해요. |
GetOrderBook |
쌍의 현재 호가창 스냅샷을 조회해요. |
GetCandles |
차트 작성을 위한 OHLCV 캔들 데이터를 조회해요. |
GetTradeHistory |
쌍의 최근 공개 거래 내역을 조회해요. |
GetServerTime |
동기화를 위한 현재 서버 타임스탬프를 조회해요. |
GetPairsInfo |
이용 가능한 모든 거래 쌍에 대한 정보를 조회해요. |
GetCurrenciesInfo |
지원하는 모든 통화에 대한 정보를 조회해요. |
GetProcessingInfo |
입출금 처리 세부 정보를 조회해요. |
시장 데이터 조회
// Get current ticker for BTC-USD
oCexPlus.GetTicker('BTC-USD');
// Get order book snapshot
oCexPlus.GetOrderBook('BTC-USD');
// Get candle data for charting
oCexPlus.GetCandles('BTC-USD');
// Get available trading pairs
oCexPlus.GetPairsInfo;
계좌 및 거래 메서드
계좌 메서드는 인증이 필요하며 주문 접수, 계좌 상태 확인, 수수료 관리, 자금 이체 등 전체 거래 기능을 제공해요.
계좌 관리
| Method | Description |
|---|---|
Ping |
연결을 유지하기 위해 킵얼라이브 핑을 전송해요. |
CreateAccount |
플랫폼에 새 서브계좌를 생성해요. |
GetAccountStatus |
현재 계좌 상태와 세부 정보를 조회해요. |
GetCurrentFee |
계좌의 현재 거래 수수료율을 조회해요. |
GetFeeStrategy |
수수료 전략과 등급 정보를 조회해요. |
GetVolume |
수수료 등급 산정을 위한 거래량을 조회해요. |
주문 관리
| Method | Description |
|---|---|
GetOrders |
계좌의 미체결 주문을 모두 조회해요. |
NewOrder |
전체 파라미터를 제어하여 새 주문을 접수해요. |
NewMarketOrder |
현재 최적 가격으로 실행되는 시장가 주문을 접수해요. |
NewLimitOrder |
지정한 가격으로 지정가 주문을 접수해요. |
CancelOrder |
식별자로 특정 미체결 주문을 취소해요. |
CancelAllOrders |
미체결 주문을 한 번에 모두 취소해요. |
내역 및 자금
| Method | Description |
|---|---|
GetTransactionHistory |
계좌의 거래 내역을 조회해요. |
GetFundingHistory |
입출금 내역을 조회해요. |
InternalTransfer |
서브계좌 간 내부 자금 이체를 해요. |
GetDepositAddress |
통화의 입금 주소를 생성하거나 조회해요. |
FundsDepositFromWallet |
외부 지갑에서 거래 계좌로 자금을 입금해요. |
FundsWithdrawalToWallet |
거래 계좌에서 외부 지갑으로 자금을 출금해요. |
코드 예제
다음 예제는 CEX.IO Plus 연결, 계좌 상태 확인, 호가창 구독, 시장가 주문 접수를 보여줘요.
oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
// Get account status
oCexPlus.GetAccountStatus;
// Subscribe to order book
oCexPlus.SubscribeOrderBook('BTC-USD');
// Place a market order
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
다양한 주문 유형 접수
CEX.IO Plus는 여러 주문 유형을 지원해요. 최적 가격으로 즉시 실행하려면 NewMarketOrder를, 특정 가격 주문에는 NewLimitOrder를, 전체 파라미터 제어에는 NewOrder를 사용해요.
// Market order: buy BTC with USD at market price
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
// Limit order: buy BTC at a specific price
oCexPlus.NewLimitOrder('BTC', 'USD', cxpsBuy, 0.01, 30000);
// Cancel a specific order
oCexPlus.CancelOrder('order-id-here');
// Cancel all open orders
oCexPlus.CancelAllOrders;
자금 이체
컴포넌트는 서브계좌 간 내부 자금 이체와 입출금 운영을 지원해요.
// Get deposit address for BTC
oCexPlus.GetDepositAddress('BTC');
// Retrieve funding history
oCexPlus.GetFundingHistory;
// Transfer funds between sub-accounts
oCexPlus.InternalTransfer('from-account', 'to-account', 'BTC', 0.5);
설정 및 참고 사항
API 인증 정보
CEX.IO Plus 플랫폼에서 API 키와 시크릿을 생성하세요. 표준 CEX.IO 인증 정보와 다르니 주의하세요. 수행하려는 작업(예: 거래, 출금)에 적합한 권한이 API 키에 활성화되어 있는지 확인하세요.
쌍 명칭 규칙
CEX.IO Plus는 기본 통화와 견적 통화 파라미터를 별도로 사용하는 표준 CEX.IO API와 달리 BTC-USD처럼 하이픈으로 연결된 쌍 형식을 사용해요. 구독 메서드와 시장 데이터 조회 시 항상 하이픈 형식을 사용하세요.
주문 방향 열거
주문 메서드는 주문 방향을 지정하기 위해 cxpsBuy와 cxpsSell 열거 값을 사용해요. 이는 CEX.IO Plus 컴포넌트에 특화된 것으로 표준 CEX.IO 열거와 달라요.
연결 킵얼라이브
인증된 세션을 유지하기 위해 정기적으로 Ping 메서드를 사용하세요. 이렇게 하면 서버가 비활동으로 인해 연결을 끊지 않아요.
GetPairsInfo와 GetCurrenciesInfo를 사용하여 이용 가능한 거래 쌍과 지원 통화를 동적으로 확인하세요.
오류 처리
CEX.IO Plus의 모든 응답에는 상태 필드가 포함돼요. 컴포넌트의 메시지 이벤트에서 응답 상태와 오류 세부 정보를 확인하여 오류 응답을 처리하세요. 일반적인 오류로는 잔고 부족, 잘못된 쌍 이름, 인증 실패 등이 있어요.
