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 を価格上限 10000 で 0.002 枚買います。
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));
