sgcWebSockets 2022.6.0 から OKX 暗号ブローカーがサポートされました。OKX(旧 OKEx)は最大級の暗号通貨スポット・デリバティブ取引所の一つです。OKX はセーシェルを拠点とする暗号通貨取引所で、スポットやデリバティブなどさまざまな金融商品の取引プラットフォームを提供しています。
sgcWebSockets はパブリック・プライベートチャンネルを含む WebSocket API をサポートしています。注文発注もサポートされています。
設定
WebSocket チャンネルはパブリックとプライベートの 2 つのカテゴリーに分かれています。
- パブリックチャンネル:ティッカーチャンネル・K ラインチャンネル・価格制限チャンネル・板情報チャンネル・マーク価格チャンネルなどが含まれます。ログイン不要です。
- プライベートチャンネル:口座チャンネル・注文チャンネル・ポジションチャンネルなどが含まれます。ログインが必要です。
OKX プロパティで以下のプロパティを設定できます。
- 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);
