API XTB

XTB

 

サポートされている API

 

プロパティ

WebSocketプロトコルは2種類のリクエストを許可します: Streamingコマンド(ライブ更新を受信)およびRetrieve Trading Data(何らかの情報を取得するリクエストをサーバーに送信)。

 

XTB プロパティで以下のプロパティを設定できます。

 

接続

クライアントがXTBサーバーに正常に接続すると、OnXTBConnect イベントが発生します。接続を試みる際にエラーが発生した場合は、エラーの詳細とともにOnXTBError イベントが発生します。

OnXTBConnect イベントが発生した後、XTBサーバーからのメッセージの送信および受信を開始できます。

 


oClient := TsgcWebSocketClient.Create(nil);
oXTB := TsgcWSAPI_XTB.Create(nil);
oXTB.Client := oClient;
oXTB.XTB.User := 'user_0001';
oXTB.XTB.Password := 'secret_0001';
oClient.Active := True;
procedure OnXTBConnect(Sender: TObject; const aStreamSessionId: string);
begin
  DoLog('#XTB Connected');
end;
procedure OnXTBError(Sender: TObject; aCode, aDescription, aRawMessage: string);
begin
  DoLog('#error: ' + aDescription);
end;

 

接続コマンド

 

メソッド 説明
ログイン クライアントアプリケーションは何らかのアクションを実行するためにログインプロセスを実行する必要があります。適切なログインプロセスの前には機能が利用できません。ログインメソッドはクライアントが WebSocket サーバーに接続し、User/Password の値が設定された後に自動的に呼び出されます。
Logout  

 

 

ストリーミングコマンド

以下のチャンネルをサブスクライブできます:

 

メソッド 説明
SubscribeBalance システムで利用可能になり次第、実際のアカウント指標の値をリアルタイムで取得できます。
SubscribeCandles API チャートキャンドルのサブスクライブとアンサブスクライブを行います。各キャンドルの間隔は 1 分です。新しいキャンドルは 1 分ごとに届きます。
SubscribeKeepAlive 「キープアライブ」メッセージを購読および購読解除します。新しい「キープアライブ」メッセージは API によって 3 秒ごとに送信されます。
SubscribeNews ニュースのサブスクライブおよびサブスクライブ解除を行います。
SubscribeProfits 利益の購読および購読解除を行います。
SubscribeTickPrices

相場のサブスクリプションを確立し、システムで利用可能になり次第リアルタイムで関連情報を取得できます。getTickPrices コマンドは同じシンボルに対して何度も呼び出せますが、特定のシンボルのサブスクリプションは 1 つだけ作成されます。複数のレコードが利用可能な場合、受信順序は保証されません。

SubscribeTrades ユーザーの取引ステータスデータのサブスクリプションを確立し、システムで利用可能になり次第リアルタイムで関連情報を取得できます。複数のレコードが利用可能な場合、受信順序は保証されませんのでご注意ください。
SubscribeTradeStatus 送信されたトレードリクエストのステータスをリアルタイムで、システムで利用可能になり次第取得できます。複数のレコードが利用可能な場合、受信順序は保証されないことにご注意ください。
SubscribePing この関数を定期的に呼び出すだけで、システム内のすべてのコンポーネントの内部状態を更新するのに十分です。ストリーミング接続では、クライアントがセッション内でコマンドを送信しない場合、一方向のネットワークトラフィックのみが生成されます。他のコマンドを実行しないアプリケーションは、少なくとも 10 分に 1 回はこのコマンドを呼び出すことをお勧めします。

 

 

取引データの取得

次のリクエストを送信できます:

 

メソッド 説明
GetAllSymbols ユーザーが利用可能なすべてのシンボルの配列を返します。
GetCalendar 市場イベントのカレンダーを返します。
GetChartLastRequest この機能は通常、現在のローソク足データを取得するための優先される方法であるストリーミング同等の getCandles に置き換えることができます。開始日から現在まで、チャート情報を返します。CHART_LAST_INFO_RECORD で選択した期間が1分を超える場合、API によって返される最後のローソク足は期間の終了まで変化する可能性があります(ローソク足は毎分自動的に更新されます)。
GetChartRangeRequest この関数は通常、現在のローソク足データを取得する際に推奨されるストリーミング等価物 getCandles で置き換えられることにご注意ください。指定された開始日と終了日の間のデータを含むチャート情報を返します。
GetCommissionDef 手数料と為替レートの計算結果を返します。値は期待値として計算されるため、完全に正確ではない可能性があります。
GetCurrentUserData

アカウントの通貨、アカウントのレバレッジに関する情報を返します。

GetIbsHistory

指定した時間範囲から IB データを返します。
GetMarginLevel この関数は通常、ストリーミング版の getBalance で置き換えられることに注意してください。getBalance はアカウント指標を取得する推奨方法です。さまざまなアカウント指標を返します
GetMarginTrade 指定されたインストゥルメントとボリュームの予想マージンを返します。値は予想マージン値として計算されるため、完全に正確ではない場合があります。
GetNews この関数は通常、ニュースデータ取得の推奨方法であるストリーミング版の getNews に置き換えられることに注意してください。指定された期間内に取引サーバーから送信されたニュースを返します。
GetProfitCalculation 指定した取引データに基づいて推定利益を計算します。計算機のようなアプリにのみ使用してください。オープン中の取引の利益は、サーバーの計算精度が高いためサーバーから取得してください。
GetServerTime 取引サーバーの現在時刻を返します
GetStepRules DMA のステップルールリストを返します。
GetSymbol ユーザーが利用可能なシンボルに関する情報を返します。
GetTickPrices この関数は通常、ストリーミングの同等版であるgetTickPricesで置き換えることができ、これがティックデータを取得する推奨される方法であることに注意してください。指定されたシンボルの現在のクオートの配列を返します。指定されたタイムスタンプから変更されたクオートのみが返されます。出力から得られた新しいタイムスタンプは、このコマンドの次の呼び出しの引数として使用されます。
GetTradeRecords orders 引数に一覧されている注文の取引配列を返します
GetTrades この関数は通常、取引データを取得する優先方法であるストリーミング対応の getTrades に置き換えられることに注意してください。ユーザーの取引の配列を返します。
GetTradesHistory この関数は通常、ストリーミング版の getTrades で置き換えることができます。これが取引データを取得する推奨の方法です。指定した期間内にクローズされたユーザーの取引の配列を返します。
GetTradingHours クォートと取引時間を返します。
GetVersion 現在の API バージョンを返します。
Ping この関数を定期的に呼び出すだけで、システム内のすべてのコンポーネントの内部状態を更新するのに十分です。他のコマンドを実行しないアプリケーションは、少なくとも 10 分に 1 回はこのコマンドを呼び出すことが推奨されます。この関数のストリーミング相当物は ping と getKeepAlive の組み合わせであることに注意してください。
TradeTransaction 取引トランザクションを開始します。tradeTransaction はメイントランザクション情報をサーバーに送信します。
TradeTransactionStatus この関数は通常、トランザクションステータスデータを取得する推奨方法であるストリーミング相当のgetTradeStatusで置き換えることができることに注意してください。現在のトランザクションステータスを返します。トランザクション処理のどの時点でも、クライアントはサーバー側でトランザクションのステータスを確認できます。そのためには、クライアントはtradeTransaction呼び出しから取得した一意のorderを提供する必要があります。