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);
