sgcWebSockets 4.5.0부터 FTX API가 지원돼요.
지원되는 API
- WebSockets API: 공개 websocket 서버에 연결해 실시간 시장 데이터 업데이트를 제공해요.
- REST API: REST API는 계정과 주문 관리, 공개 시장 데이터를 위한 엔드포인트를 제공해요.
FTX WebSocket API
FTX WebSocket API에 연결하려면 새 FTX API 클라이언트를 생성해 TsgcWebSocketClient에 연결하기만 하면 돼요.
아래 예제를 참고해 주세요.
oClient := TsgcWebSocketClient.Create(nil); oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.Client := oClient; oClient.Active := True;
FTX는 시장 데이터, 주문 등의 실시간 업데이트를 받기 위해 구독할 수 있는 다양한 채널을 제공해요...
아래는 Ticker를 구독하는 예제예요.
oClient := TsgcWebSocketClient.Create(nil);
oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.Client := oClient;
oFTX.SubscribeTicker('BTC-PERP');
procedure OnFTXMessage(Sender: TObject; aType, aRawMessage: string);
begin
// here you will receive the ticker updates
end;
FTX REST API
FTX는 REST 엔드포인트로 퍼블릭 시장 데이터를 제공해요. 이 엔드포인트를 호출하면 요청한 시장 데이터의 스냅샷을 받을 수 있어요.
시장 데이터 엔드포인트는 인증이 필요하지 않아서 모든 사용자가 자유롭게 사용할 수 있어요.
예: BTC-PERP 시장의 스냅샷을 가져오려면 다음과 같이 호출해 주세요.
oFTX := TsgcWSAPI_FTX.Create(nil);
ShowMessage(oFTX.REST_API.GetMarket('BTC-PERP'));
FTX REST API는 퍼블릭과 프라이빗 엔드포인트를 제공해요. 프라이빗 엔드포인트는 트랜잭션 보안을 강화하기 위해 메시지에 서명해야 해요.
먼저 FTX 계정에 로그인해 새 API를 생성하면 다음 값을 받게 돼요.
- ApiKey
- ApiSecret
이 필드는 FTX API 클라이언트 컴포넌트의 FTX 속성에 설정해야 해요.
설정이 완료되면 FTX REST API에 프라이빗 요청을 보낼 수 있어요.
oFTX := TsgcWSAPI_FTX.Create(nil); oFTX.FTX.ApiKey := '<your api key>'; oFTX.FTX.ApiSecret := '<your api secret>'; ShowMessage(oFTX.REST_API.GetAccount);
주문 넣기
시장가 주문
새 시장가 주문을 넣어 BTC-PERP 계약 0.002개를 매수해요.
oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.FTX.ApiKey := 'your api key';
oFTX.FTX.ApiSecret := 'your api secret';
ShowMessage(oFTX.REST_API.PlaceMarketOrder('BTC-PERP', ftosBuy, 0.002));
지정가 주문
새 지정가 주문을 넣어 BTC-PERP 계약 0.002개를 가격 한도 10000에 매수해요.
oFTX := TsgcWSAPI_FTX.Create(nil);
oFTX.FTX.ApiKey := 'your api key';
oFTX.FTX.ApiSecret := 'your api secret';
ShowMessage(oFTX.REST_API.PlaceLimitOrder('BTC-PERP', ftosBuy, 0.002, 10000));
