KuCoin API の sgcWebSockets 更新

· 機能
Delphi 向け KuCoin Spot・Futures API 統合

TsgcWSAPI_Kucoin および TsgcWSAPI_Kucoin_Futures コンポーネントは、リアルタイム WebSocket 市場データ、プライベートアカウントストリーム、取引・出金・市場クエリ用の完全な REST API を含む KuCoin 取引所への包括的な Delphi アクセスを提供します。このガイドでは、Spot・Futures の両方で利用可能なすべてのメソッドを、設定の詳細と実際のコード例とともに解説します。

目次

Spot WebSocket API

Spot WebSocket API は、市場データおよびプライベートアカウントイベントのリアルタイムストリーミングを提供します。パブリックチャネルは認証なしで利用可能で、プライベートチャネルは有効な API 認証情報が必要です。

パブリックチャネル

パブリックチャネルは、認証を必要とせず、接続されたすべてのクライアントに市場データをストリーミングします。各 Subscribe メソッドには対応する Unsubscribe メソッドがあります。

メソッド 説明
SubscribeSymbolTicker 特定の取引シンボルのリアルタイムティッカー更新にサブスクライブします。
SubscribeAllSymbolsTicker 取引所のすべてのシンボルのティッカー更新にサブスクライブします。
SubscribeSymbolSnapshot 24時間統計を含む特定のシンボルのスナップショットデータにサブスクライブします。
SubscribeMarketSnapshot 市場全体のスナップショット更新にサブスクライブします。
SubscribeLevel2MarketData レベル2の板情報変更(フル深度)にサブスクライブします。
SubscribeLevel2_5BestAskBid 板情報の上位5件のベストアスク・ビッドにサブスクライブします。
SubscribeLevel2_50BestAskBid 板情報の上位50件のベストアスク・ビッドにサブスクライブします。
SubscribeKlines 指定した間隔でシンボルのローソク足/KLine データにサブスクライブします。
SubscribeMatchExecutionData シンボルの取引リアルタイムマッチング/約定データにサブスクライブします。
SubscribeIndexPrice シンボルの指数価格更新にサブスクライブします。
SubscribeMarkPrice シンボルのマーク価格更新にサブスクライブします。
SubscribeOrderBookChanged シンボルの板情報変更イベントにサブスクライブします。
注: 上記のすべての Subscribe メソッドには対応する UnSubscribe メソッド(例:UnSubscribeSymbolTicker)があり、そのチャネルの更新受信を停止できます。

プライベートチャネル

プライベートチャネルは有効な API 認証情報が必要で、注文・残高・ポジション・信用取引アクティビティのリアルタイム更新を提供します。

メソッド 説明
SubscribeTradeOrders 取引注文(未決済・約定済み・キャンセル済み)のリアルタイム更新にサブスクライブします。
SubscribeAccountBalance リアルタイムの口座残高変動にサブスクライブします。
SubscribePositionStatus 信用取引のポジションステータス更新にサブスクライブします。
SubscribeMarginTradeOrders 信用取引注文の更新にサブスクライブします。
SubscribeStopOrder ストップ注文のトリガーおよびステータス更新にサブスクライブします。

Spot REST API

Spot REST API は TsgcWSAPI_KucoinREST_API プロパティからアクセスします。すべてのメソッドは JSON 文字列を返します。API はアカウント、出金、注文管理、ストップ注文、市場データを対象としています。

アカウント

メソッド 説明
GetAccounts すべてのアカウント(メイン・取引・信用)のリストを返します。
GetAccount アカウント ID で指定したアカウントの詳細を返します。
GetAccountBalanceSubAccount サブアカウントの残高を返します。
InnerTransfer 内部アカウント間で資金を振り替えます(例:メイン→取引)。

出金

メソッド 説明
GetWithdrawalsList 最近の出金記録のリストを返します。
GetHistoricalWithdrawalsList 最近のウィンドウを超えた過去の出金記録を返します。
GetWithdrawalsQuotas 指定した通貨の出金上限額と制限を返します。
ApplyWithdraw 外部アドレスへの出金を開始します。
CancelWithdraw ID で指定した保留中の出金をキャンセルします。

注文

メソッド 説明
PlaceOrder 新規 Spot 注文(成行・指値、買い・売り)を発注します。
PlaceMarginOrder 借入資金を使った信用注文を発注します。
CancelOrderByClientOid クライアント指定の注文 ID で注文をキャンセルします。
GetOrder 取引所が割り当てた ID で指定した注文の詳細を返します。
GetOrderByClientOid クライアントが割り当てた ID で指定した注文の詳細を返します。
ListFills 約定済み注文(取引約定)のリストを返します。
GetRecentFills 最新の約定記録を返します。

ストップ注文

メソッド 説明
PlaceStopOrder ストップ価格に達したときにトリガーされるストップ注文を発注します。
PlaceStopMarketOrder トリガー後に成行価格で約定するストップ成行注文を発注します。
PlaceStopLimitOrder トリガー後に指値注文を作成するストップ指値注文を発注します。
CancelStopOrder 取引所が割り当てた ID でストップ注文をキャンセルします。
CancelStopOrderByClientOid クライアントが割り当てた ID でストップ注文をキャンセルします。
CancelAllStopOrders アクティブなすべてのストップ注文をキャンセルします(シンボルでフィルター可)。
GetStopOrder 取引所が割り当てた ID でストップ注文の詳細を返します。
GetStopOrderByClientOid クライアントが割り当てた ID でストップ注文の詳細を返します。
ListStopOrders アクティブなすべてのストップ注文のリストを返します。

市場データ

メソッド 説明
GetSymbolList 利用可能な取引シンボルのリストを返します。
GetAllTickers すべての取引ペアのティッカーデータを返します。
GetMarketList 利用可能な市場のリストを返します。
GetPartOrderBook100 シンボルの板情報の上位100件を返します。
GetFullOrderBook シンボルの完全な板情報(レベル3データ)を返します。
GetHistories シンボルの最近の取引履歴を返します。
GetKLines 指定した間隔でシンボルのローソク足/KLine データを返します。
GetCurrencies サポートされているすべての通貨のリストを返します。
GetCurrencyDetail 特定の通貨の詳細(チェーン情報・精度など)を返します。
GetFiatPrice 指定した通貨の法定通貨価格を返します(例:BTC の USD 換算値)。

Futures WebSocket API

Futures WebSocket API は TsgcWSAPI_Kucoin_Futures が提供し、先物契約データおよびプライベートアカウントイベントのリアルタイムストリーミングを提供します。

パブリックチャネル

メソッド 説明
SubscribeSymbolTickerV2 先物契約シンボルの V2 ティッカー更新にサブスクライブします。
SubscribeSymbolTicker 先物契約シンボルのティッカー更新にサブスクライブします。
SubscribeLevel2MarketData 先物契約のレベル2板情報データにサブスクライブします。
SubscribeExecutionData 先物取引のリアルタイムマッチング/約定データにサブスクライブします。
SubscribeLevel2_5BestAskBid 先物契約の上位5件のベストアスク・ビッドにサブスクライブします。
SubscribeLevel2_50BestAskBid 先物契約の上位50件のベストアスク・ビッドにサブスクライブします。
SubscribeContractMarketData 契約レベルの市場データ(ファンディングレート・マーク価格など)にサブスクライブします。
SubscribeSystemAnnouncements システム全体のアナウンスとメンテナンス通知にサブスクライブします。
SubscribeTransactionStatistics 先物契約の集計取引統計にサブスクライブします。
注: 先物テーブルに記載されているすべての Subscribe メソッドには、対応する UnSubscribe メソッドがあり、そのチャネルの更新受信を停止できます。

プライベートチャネル

メソッド 説明
SubscribeTradeOrders 先物取引注文のリアルタイム更新にサブスクライブします。
SubscribeStopOrder 先物のストップ注文トリガーおよびステータス更新にサブスクライブします。
SubscribeAccountBalance リアルタイムの先物口座残高変動にサブスクライブします。
SubscribePositionChange ポジション変更イベント(オープン・クローズ・清算)にサブスクライブします。

Futures REST API

Futures REST API は TsgcWSAPI_Kucoin_FuturesREST_API プロパティからアクセスします。これらのメソッドは証拠金管理、リスク上限、ファンディング履歴、板情報クエリを対象としています。

メソッド 説明
AddMarginManually 先物ポジションに手動で証拠金を追加します。
ObtainFuturesRiskLimitLevel 先物契約の現在のリスク上限レベルを返します。
AdjustRiskLimitLevel 先物契約のリスク上限レベルを調整します。
GetFundingHistory 先物契約のファンディングレート履歴を返します。
GetPartOrderBook100 先物板情報の上位100件を返します。
GetFullOrderBook 先物の完全な板情報を返します。
GetLevel2PullingMessages 段階的な板情報更新のためのレベル2プルメッセージを返します。
GetInterestRateList ファンディング計算に使用する金利リストを返します。
GetIndexList 先物契約の指数構成リストを返します。

コード例

以下の例では、TsgcWSAPI_Kucoin コンポーネントを Spot 取引向けに作成・設定し、API で認証してから REST でティッカーを取得し、注文を発注して WebSocket でリアルタイムティッカーストリームをサブスクライブする方法を示します。

var
  oClient: TsgcWebSocketClient;
  oKucoin: TsgcWSAPI_Kucoin;
begin
  // Create the WebSocket client
  oClient := TsgcWebSocketClient.Create(nil);
  oKucoin := TsgcWSAPI_Kucoin.Create(nil);
  oKucoin.Client := oClient;
  // Configure API credentials
  oKucoin.Kucoin.ApiKey := 'your_api_key';
  oKucoin.Kucoin.ApiSecret := 'your_api_secret';
  oKucoin.Kucoin.Passphrase := 'your_passphrase';
  // Connect to KuCoin
  oClient.Active := True;
  // REST: Get all tickers
  ShowMessage(oKucoin.REST_API.GetAllTickers);
  // REST: Place a limit order
  ShowMessage(oKucoin.REST_API.PlaceOrder(myOrder));
  // WebSocket: Subscribe to BTC-USDT ticker
  oKucoin.SubscribeSymbolTicker('BTC-USDT');
end;

WebSocket イベントの処理

受信メッセージを処理するためにイベントハンドラーを割り当てます。イベントは各更新のトピック・サブジェクト・JSON データを提供します。

procedure TForm1.OnKucoinEvent(Sender: TObject;
  const aTopic, aSubject, aData: string);
begin
  // aTopic identifies the channel
  // aSubject provides the specific symbol or identifier
  // aData contains the JSON payload
  Memo1.Lines.Add(aTopic + ' [' + aSubject + ']: ' + aData);
end;

設定とメモ

設定プロパティ

TsgcWSAPI_Kucoin(Spot)と TsgcWSAPI_Kucoin_Futures(Futures)はどちらも同じ認証プロパティを共有しており、Kucoin プロパティからアクセスします。

プロパティ 説明
Kucoin.ApiKey String KuCoin の API キーです。KuCoin API 管理ページから生成してください。
Kucoin.ApiSecret String KuCoin の API シークレットです。この値は安全に保管し、クライアント側のコードに公開しないでください。
Kucoin.Passphrase String API キー作成時に設定したパスフレーズです。認証が必要なすべてのリクエストに必要です。

重要なメモ

セキュリティ: API キー・シークレット・パスフレーズを本番コードに直接ハードコードしないでください。認証情報の保存には安全な設定ファイルまたは環境変数を使用してください。