CEX Plus API Update sgcWebSockets

· 機能
Delphi 向け CEX.IO Plus WebSocket API 統合

CEX.IO Plus は、プロフェッショナルおよび機関投資家向けに設計された CEX.IO の高度なトレーディングプラットフォームです。TsgcWSAPI_CexPlus コンポーネントは、市場データサブスクリプション・注文管理・口座操作・資金移動など、WebSocket API への包括的な Delphi アクセスを単一の永続接続で提供します。

目次

概要

CEX.IO Plus API は標準的な CEX.IO の提供を大幅に拡張しています。リアルタイムの注文板とトレードフィード用のパブリックサブスクリプション、ティッカー・ローソク足・取引所情報のオンデマンドスナップショット用の市場データクエリ、および注文管理・手数料照会・取引履歴・資金移動を含む完全なトレーディング操作用の口座メソッドの 3 段階の機能を提供します。TsgcWSAPI_CexPlus コンポーネントはこれらすべての機能をカプセル化しています。

はじめに

TsgcWebSocketClientTsgcWSAPI_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 メソッド

パブリックサブスクリプションメソッドは認証なしでリアルタイムデータをストリーミングで提供します。市場モニタリングやライブデータフィードの構築に最適です。

メソッド 説明
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');

市場データメソッド

市場データメソッドは取引所データのオンデマンドスナップショットを返します。サブスクリプションとは異なり、これらは単一の結果を返すリクエスト・レスポンス呼び出しです。

メソッド 説明
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;

口座およびトレーディングメソッド

口座メソッドは認証が必要で、注文の発注・口座ステータス確認・手数料管理・資金移動を含む完全なトレーディング機能を提供します。

口座管理

メソッド 説明
Ping 接続を維持するためのキープアライブ Ping を送信します。
CreateAccount プラットフォームに新しいサブアカウントを作成します。
GetAccountStatus 現在の口座ステータスと詳細を取得します。
GetCurrentFee 口座の現在の取引手数料率を取得します。
GetFeeStrategy 手数料戦略とティア情報を取得します。
GetVolume 手数料ティア計算のための取引量を取得します。

注文管理

メソッド 説明
GetOrders 口座のすべてのオープン注文を取得します。
NewOrder 完全なパラメーター制御で新しい注文を発注します。
NewMarketOrder 現在の最良価格で約定する成行注文を発注します。
NewLimitOrder 指定した価格で指値注文を発注します。
CancelOrder 識別子でオープン注文をキャンセルします。
CancelAllOrders すべてのオープン注文を一括キャンセルします。

履歴と資金

メソッド 説明
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 は BTC-USD のようなハイフン区切りのペア形式を使用します。ベース通貨とクォート通貨パラメーターを別々に使用する標準の CEX.IO API とは異なります。サブスクリプションメソッドや市場データクエリを呼び出す際は常にハイフン形式を使用してください。

注文方向の列挙型

注文メソッドは注文方向を指定するために cxpsBuycxpsSell の列挙型値を使用します。これらは CEX.IO Plus コンポーネント固有のもので、標準の CEX.IO 列挙型とは異なります。

接続のキープアライブ

認証済みセッションを維持するために、定期的に Ping メソッドを使用してください。これにより非アクティブによるサーバーからの接続切断を防げます。

ヒント:アプリケーションにハードコードするのではなく、起動時に GetPairsInfoGetCurrenciesInfo を使用して利用可能な取引ペアとサポートされている通貨を動的に検出してください。

エラー処理

CEX.IO Plus からのすべてのレスポンスにはステータスフィールドが含まれています。レスポンスのステータスとエラー詳細を確認して、コンポーネントのメッセージイベントでエラーレスポンスを処理してください。一般的なエラーには残高不足・無効なペア名・認証失敗などがあります。