cTrader FIXエンジン(利用規約)¶
概要 ¶
範囲 ¶
この仕様は、ソフトウェア開発者向けのcTrader FIXエンジンAPIの実装ガイドとして機能することを目的としています。
FIXバージョン ¶
cTraderはFIXバージョン4.4をサポートしています。 このバージョンの詳細については、これらの仕様を参照してください。
接続性 ¶
接続タイプ ¶
cTraderのFIXエンジンへの接続は、インターネット、VPNトンネル、または英国のデータセンター施設へのクロスコネクトを介して利用できます。 詳細については、お問い合わせください。
シーケンス番号のリセット ¶
FIXセッションのすべての側面は、FIXセッションを確立する際にシーケンス番号をリセットする必要があります。 ログオンメッセージを参照してください。
メッセージ ¶
FIXプロトコルで定義されているように、cTrader FIXサーバーは2つの異なるデータレベル(システムとアプリケーション)を使用しています。 これは、必要なワークフローをサポートするために必要な最小限のメッセージセットであることに注意してください。 ビジネスニーズとFIX標準の両方が進化するにつれて、時間とともに変更される可能性があります。
cTrader FIXエンジン ¶
システムメッセージ¶
- ハートビート(クライアント ↔ cTrader)
- テストリクエスト(クライアント ↔ cTrader)
- ログオン(クライアント → cTrader)
- ログアウト(クライアント → cTrader)
- 再送リクエスト(クライアント ↔ cTrader)
- リジェクト(クライアント ↔ cTrader)
- シーケンスリセット(クライアント ↔ cTrader)
アプリケーションメッセージ¶
- マーケットデータリクエスト(クライアント → cTrader)
- マーケットデータスナップショット/フルリフレッシュ(クライアント ← cTrader)
- マーケットデータインクリメンタルリフレッシュ(クライアント ← cTrader)
- 新規注文シングル(クライアント → cTrader)
- 注文ステータスリクエスト(クライアント → cTrader)
- 注文一括ステータスリクエスト(クライアント → cTrader)
- 約定レポート(クライアント ← cTrader)
- ビジネスメッセージリジェクト(クライアント ← cTrader)
- ポジションリクエスト(クライアント → cTrader)
- ポジションレポート(クライアント ← cTrader)
- 注文キャンセルリクエスト(クライアント → cTrader)
- 注文キャンセルリジェクト(クライアント ← cTrader)
- 注文キャンセル/変更リクエスト(クライアント → cTrader)
- 銘柄リストリクエスト(クライアント → cTrader)
- 銘柄リスト(クライアント ← cTrader)
標準ヘッダー ¶
各管理メッセージまたはアプリケーションメッセージの前には、標準ヘッダーが付きます。 ヘッダーはメッセージタイプ、長さ、宛先、シーケンス番号、発信元、時間を識別します。
cTraderに送信されるすべてのメッセージには、以下のフィールドを含む標準ヘッダーが必要です:
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
| 8 | BeginString | 可 | FIX.4.4 | String | 常に暗号化されず、メッセージの最初のフィールドでなければなりません。 |
| 9 | BodyLength | 可 | 任意の有効な値 | Integer | メッセージ本文の長さ。 常に暗号化されず、メッセージの2番目のフィールドでなければなりません。 |
| 35 | MsgType | 可 | A | String | メッセージタイプ。 常に暗号化されず、メッセージの3番目のフィールドでなければなりません。 |
| 49 | SenderCompID | 可 | 任意の有効な値 | String | 以下の形式での取引当事者のID:<Environment>.<BrokerUID>.<Trader Login>、ここでEnvironmentはデモやライブなどのサーバーの決定、BrokerUIDはcTraderによって提供され、Trader Loginはトレーダーアカウントの数値識別子です。 |
| 56 | TargetCompID | 可 | CSERVER | String | メッセージのターゲット。 The valid value is CSERVER. |
| 57 | TargetSubID | 可 | QUOTEまたはTRADE | String | 追加のセッション修飾子。 可能な値はQUOTEとTRADEです。 |
| 50 | SenderSubID | 不可 | 任意の有効な値 | String | 特定のメッセージ発信者を識別するために使用される割り当て値。 TargetSubID=QUOTEの場合、QUOTEに設定する必要があります。 |
| 34 | MsgSeqNum | 可 | 1 | Integer | メッセージのシーケンス番号。 |
| 52 | SendingTime | 可 | 20131129-15:40:08.155 | UTCTimestamp | メッセージ送信時間は常にUTC(協定世界時、GMTとしても知られる)で表現されます。 |
標準トレーラー ¶
各メッセージ(管理用または応用)は標準トレーラーで終了します。 トレーラーはメッセージを分離するために使用され、CheckSum(タグ=10)値の3桁の表現を含みます。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
| 10 | CheckSum | 可 | 054 | String | 3バイトの単純チェックサム。 常にメッセージの最後のフィールドであり(例えば、serves)、末尾の<SOH>がメッセージ終了デリミタとなります。 3文字として定義されます(常に暗号化されません)。 |
セッションメッセージ ¶
Heartbeat (MsgType(35)=0)¶
ハートビートメッセージはcTraderとクライアントアプリケーションの両方から送信され、ライブ接続を確認します。
プロバイダーのクライアントアプリケーションは、ログオンメッセージのHeartBtInt(タグ=108)フィールドで定義された間隔で定期的なハートビートを送信するか、テストリクエストメッセージへの応答として送信します。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 112 | TestReqID | 不可 | 任意の有効な値 | String | ハートビートがテストリクエストメッセージの結果である場合、TestReqIDが必要です。 |
Standard Trailer | 可 |
Test Request (MsgType(35)=1)¶
これはリクエストの受信者からハートビートを強制します。 応答は受信システムからTestReqIDを含むハートビートメッセージとして送信されます。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 112 | TestReqID | 可 | 任意の有効な値 | String | ハートビートメッセージID。 TestReqIDは増分する必要があります。 |
Standard Trailer | 可 |
Logon (bidirectional) (MsgType(35)=A)¶
ログオンメッセージはクライアント側アプリケーションからcTrader FIXセッションを開始するために送信され、cTraderからクライアント側アプリケーションに応答が送信されます。 ログオンが完了すると、セッションのライフサイクル中、見積もりと取引のフローが進行できます。
cTraderが無効なログオンメッセージ(無効なフィールドを含む)を受信した場合、cTraderは応答としてログアウトメッセージを送信します。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 98 | EncryptMethod | 可 | 0 | Integer | メッセージ暗号化スキームを定義します。 現在、トランスポートレベルのセキュリティのみがサポートされています。 有効な値は0 = NONE_OTHER(暗号化は使用されません)です。 |
| 108 | HeartBtInt | 可 | 任意の有効な値 | Integer | 秒単位のハートビート間隔。 この値はconfig.propertiesファイル(クライアント側)でSERVER.POLLING.INTERVALとして設定されます。 デフォルトの間隔値は30秒です。 HeartBtIntが0に設定されている場合、ハートビートメッセージは不要です。 |
| 141 | ResetSeqNumFlag | 不可 | Y | Boolean | FIXセッションのすべての側面でシーケンス番号をリセットする必要があります。 有効な値はY(リセット)です。 |
| 553 | Username | 不可 | 任意の有効な値 | String | 数値のユーザーID。 ユーザーはSenderCompID値(ユーザーの組織、タグ=49)にリンクされています。 |
| 554 | Password | 不可 | 任意の有効な値 | String | ユーザーパスワード。 |
Standard Trailer | 可 |
注意
Usernameフィールド(タグ=553)には数値のトレーダーログイン値を含める必要があり、SenderCompID(タグ=49)には環境、BrokerUID、およびドットで区切られたトレーダーログインを含める必要があります(例:live.theBroker.12345)。
以下にログオンメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=126|35=A|49=live.theBroker.12345|56=CSERVER|34=1|52=20170117-08:03:04|57=TRADE|50=any_string|98=0|108=30|141=Y|553=12345|554=passw0rd!|10=131|
応答(成功):
8=FIX.4.4|9=106|35=A|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|57=any_string|98=0|108=30|141=Y|10=066|
応答(失敗):
8=FIX.4.4|9=109|35=5|34=1|49=CSERVER|50=TRADE|52=20170117-08:03:04.509|56=live.theBroker.12345|58=InternalError: RET_INVALID_DATA|10=033|
Logout (MsgType(35)=5)¶
ログアウトメッセージはクライアントアプリケーションからcTraderとのセッション終了を要求するために送信され、cTraderからの応答としても送信されます。 セッションログアウトは、マーケット参加者がcTraderにログアウトメッセージを送信することに応じて発生します。 セッションを終了する前に、cTraderは要求元に対してまだアクティブにストリーミングされているすべての価格をキャンセルします。 cTraderが無効なログオンメッセージ(無効なフィールドを含む)を受信した場合、cTraderはText(タグ=58)フィールドにエラーの詳細を含む応答としてログアウトメッセージを送信します。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 58 | Text | 不可 | 任意の有効な値 | String | ログオン拒否の詳細。 無効なログオンメッセージへの応答としてのcTraderからクライアントへのメッセージにのみ使用されます。 |
Standard Trailer | 可 |
以下にログアウトメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=86|35=5|49=live.theBroker.12345|56=CSERVER|34=161|52=20170117-09:22:33|57=TRADE|50=any_string|10=102|
応答:
8=FIX.4.4|9=90|35=5|34=160|49=CSERVER|50=TRADE|52=20170117-09:22:33.077|56=live.theBroker.12345|57=any_string|10=044|
Resend Request (MsgType(35)=2)¶
インバウンド/アウトバウンドメッセージは、通常シーケンス番号にギャップが検出された場合に、メッセージ(または複数のメッセージ)の再送を要求するために使用されます。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 7 | BeginSeqNo | 可 | 任意の有効な値 | Integer | 再送する範囲の最初のレコードのメッセージシーケンス番号。 |
| 16 | EndSeqNo | 可 | 任意の有効な値 | Integer | 再送する範囲の最後のレコードのメッセージシーケンス番号。 |
Standard Trailer | 可 |
Reject (bidirectional) (MsgType(35)=3)¶
セッションレベルのルール違反により受信したメッセージを処理できない場合に送信されます。 拒否されたメッセージは記録され、受信シーケンス番号にインクリメントが適用される必要があります。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 45 | RefSeqNum | 可 | 任意の有効な値 | SeqNum | 参照されるメッセージのシーケンス番号。 |
| 58 | Text | 不可 | 任意の有効な値 | String | 自由形式のテキスト文字列。 |
| 354 | EncodedTextLen | 不可 | 任意の有効な値 | 長さ | EncodedText(非ASCII文字)フィールドのバイト単位の長さ。 |
| 355 | EncodedText | 不可 | 任意の有効な値 | データ | 標準ヘッダーのMessageEncoding(タグ=347)フィールドで指定された形式を使用してエンコードされたText(タグ=58)フィールドの表現。 ASCII表現が使用される場合、Text(タグ=58)フィールドにも指定する必要があります。 |
| 371 | RefTagID | 不可 | 任意の有効な値 | Integer | メッセージ拒否を開始したFIXフィールドのタグ番号。 |
| 372 | RefMsgType | 不可 | 任意の有効な値 | String | 参照されるFIXメッセージのMsgType(タグ=35)。 |
| 373 | SessionRejectReason | 不可 | 任意の有効な値 | Integer | 拒否のコード化された原因。 有効な値は以下の通りです: 0 = 無効なタグ番号 1 = 必須タグの欠落 2 = このメッセージタイプに定義されていないタグ 3 = 未定義のタグ 4 = 指定されたタグに値がない 5 = このタグの値が範囲外 6 = 値のデータ形式が不正 7 = 復号化の問題 8 = 署名エラー 9 = CompIDエラー 10 = SendingTime精度エラー 11 = MsgTypeが無効 12 = XML検証エラー 13 = タグが繰り返されている 14 = 指定されたタグが正しい順序でない 15 = 繰り返しグループのフィールドが正しい順序でない 16 = 繰り返しグループのNumInGroupカウントが不正 17 = フィールド区切り文字(SOH文字)がデータ値以外に含まれている |
Standard Trailer | 可 |
Sequence Reset (MsgType(35)=4)¶
インバウンド/アウトバウンドメッセージはアプリケーションレベルで使用すべきではありません。 シーケンスリセットメッセージはシーケンス番号を増加させることのみ可能です。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 123 | GapFillFlag | 不可 | YesまたはNo | String | シーケンスリセットメッセージが再送されない管理メッセージまたはアプリケーションメッセージを置き換えることを示します。 |
| 36 | NewSeqNo | 可 | 1 | Integer | 新しいシーケンス番号。 |
Standard Trailer | 可 |
アプリケーションメッセージ ¶
Market Data Request (MsgType(35)=V)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 262 | MDReqID | 可 | 任意の有効な値 | String | 一意の見積要求ID。 新しいサブスクリプションの場合は新しいID、サブスクリプション解除の場合は以前と同じIDを使用します。 |
| 263 | SubscriptionRequestType | 可 | 1または2 | 文字 | 1 = スナップショットとアップデート(サブスクライブ)。 2 = 以前のスナップショットとアップデート要求を無効化(アンサブスクライブ)。 |
| 264 | MarketDepth | 可 | 0または1 | Integer | 完全な板が提供されます。 0 = デプス・サブスクリプション 1 = スポット・サブスクリプション |
| 265 | MDUpdateType | 可 | 任意の有効な値 | Integer | インクリメンタルリフレッシュのみがサポートされています。 |
| 267 | NoMDEntryTypes | 可 | 2 | Integer | 常に2に設定されます(ビッドとアスクの両方が送信されます)。 |
| 269 | MDEntryType | 可 | 0または1 | 文字 | この繰り返しグループには、要求者が受信したいすべてのタイプのマーケットデータエントリのリストが含まれています。 0 = Bid 1 = Offer |
| 146 | NoRelatedSym | 可 | 任意の有効な値 | Integer | 要求されたシンボルの数。 |
| 55 | Symbol | 可 | 任意の有効な値 | 買い | 銘柄識別子はSpotwareによって提供されます。 |
Standard Trailer | 可 |
以下にマーケットデータ要求メッセージの例を示します。
スポットの場合
要求:
8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=3|52=20170117-10:26:54|50=QUOTE|262=876316403|263=1|264=1|265=1|146=1|55=1|267=2|269=0|269=1|10=094|
応答:
8=FIX.4.4|9=134|35=W|34=2|49=CSERVER|50=QUOTE|52=20170117-10:26:54.630|56=live.theBroker.12345|57=any_string|55=1|268=2|269=0|270=1.06625|269=1|270=1.0663|10=118|
デプスの場合
要求:
8=FIX.4.4|9=131|35=V|49=live.theBroker.12345|56=CSERVER|34=2|52=20170117-11:13:44|50=QUOTE|262=876316411|263=1|264=0|265=1|146=1|55=1|267=2|269=0|269=1|10=087|
応答:
8=FIX.4.4|9=310|35=W|34=2|49=CSERVER|50=QUOTE|52=20180925-12:05:28.284|56=live.theBroker.12345|57=Quote|55=1|268=6|269=1|270=1.11132|271=3000000|278=16|269=1|270=1.11134|271=5000000|278=17|269=1|270=1.11133|271=3000000|278=15|269=0|270=1.1112|271=2000000|278=12|269=0|270=1.11121|271=1000000|278=13|269=0|270=1.11122|271=3000000|278=14|10=247|
8=FIX.4.4|9=693|35=X|34=2|49=CSERVER|50=QUOTE|52=20170117-11:13:44.461|56=live.theBroker.12345|57=any_string|268=12|279=0|269=1|278=7475|55=1|270=1.0691|271=2000000|279=0|269=1|278=7476|55=1|270=1.06911|271=3000000|279=0|269=1|278=7484|55=1|270=1.06931|271=34579000|279=0|269=1|278=7485|55=1|270=1.06908|271=1000000|279=0|269=1|278=7483|55=1|270=1.06906|271=500000|279=0|269=1|278=7482|55=1|270=1.06907|271=500000|279=0|269=1|278=7488|55=1|270=1.06909|271=3000000|279=0|269=0|278=7468|55=1|270=1.06898|271=500000|279=0|269=0|278=7467|55=1|270=1.06874|271=32371000|279=0|269=0|278=7457|55=1|270=1.06899|271=1000000|279=0|269=0|278=7478|55=1|270=1.06896|271=7000000|279=0|269=0|278=7477|55=1|270=1.06897|271=1500000|10=111|
8=FIX.4.4|9=376|35=X|34=3|49=CSERVER|50=QUOTE|52=20170117-11:13:44.555|56=live.theBroker.12345|57=any_string|268=8|279=0|269=0|278=7491|55=1|270=1.06897|271=1000000|279=0|269=0|278=7490|55=1|270=1.06898|271=1000000|279=0|269=0|278=7489|55=1|270=1.06874|271=32373000|279=0|269=1|278=7496|55=1|270=1.06931|271=34580000|279=2|278=7477|55=1|279=2|278=7468|55=1|279=2|278=7467|55=1|279=2|278=7484|55=1|10=192|
Market Data Snapshot/Full Refresh (MsgType(35)=W)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 262 | MDReqID | 可 | 任意の有効な値 | String | 以前に送信されたマーケットデータ要求のID。 |
| 55 | Symbol | 可 | 任意の有効な値 | 買い | 銘柄識別子はSpotwareによって提供されます。 |
| 268 | NoMDEntries | 可 | 任意の有効な値 | Integer | 以下のエントリの数。 |
| 269 | MDEntryType | 不可 | 0または1 | 文字 | 有効な値は以下の通りです: 0 = ビッド 1 = オファー NoMDEntries(タグ=268)> 0の場合のみ必須。 |
| 299 | QuoteEntryID | 不可 | 任意の有効な値 | String | QuoteSetの一部としての見積の一意の識別。 |
| 270 | MDEntryPx | 不可 | 1.2345 | 価格 | マーケットデータエントリーの価格。 NoMDEntries (タグ=268) > 0 の場合のみ必須。 |
| 271 | MDEntrySize | 不可 | 500000 | 取引高 | マーケットデータエントリーの取引高。 NoMDEntries (タグ=268) > 0 の場合のみ必須。 |
| 278 | MDEntryID | 不可 | 任意の有効な値 | String | マーケットデータエントリーの一意の識別子。 |
Standard Trailer | 可 |
Market Data Incremental Refresh (MsgType(35)=X)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 262 | MDReqID | 可 | 任意の有効な値 | String | 以前に送信されたマーケットデータ要求のID。 |
| 268 | NoMDEntries | 可 | 任意の有効な値 | Integer | 以下のエントリの数。 この繰り返しグループには、リクエスト者が受信したいすべてのタイプのマーケットデータエントリーのリストが含まれています。 |
| 279 | MDUpdateAction | 可 | 0 または 2 | 文字 | マーケットデータ更新アクションのタイプ。 有効な値は以下の通りです: 0 = 新規 2 = 削除 |
| 269 | MDEntryType | 不可 | 0または1 | 文字 | 有効な値は以下の通りです: 0 = 買い 1 = 売り |
| 278 | MDEntryID | 可 | 任意の有効な値 | String | マーケットデータエントリーのID。 |
| 55 | Symbol | 可 | 任意の有効な値 | 買い | 銘柄識別子はSpotwareによって提供されます。 |
| 270 | MDEntryPx | 不可 | 1.2345 | 価格 | MDUpdateAction (タグ=279) = 0 の場合のみ必須。 |
| 271 | MDEntrySize | 不可 | 10000 | ダブル | MDUpdateAction (タグ=279) = 0 の場合のみ必須。 |
Standard Trailer | 可 |
New Order Single (MsgType(35)=D)¶
新規注文メッセージは以下のフォーマットです。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 11 | ClOrdID | 可 | 任意の有効な値 | String | クライアントによって割り当てられた注文の一意の識別子。 |
| 55 | Symbol | 可 | 任意の有効な値 | 買い | 銘柄識別子はSpotwareによって提供されます。 |
| 54 | Side | 可 | 1または2 | Integer | 1 = Buy 2 = Sell |
| 60 | TransactTime | 可 | 任意の有効な値 | タイムスタンプ | クライアントによって生成されたリクエスト時間。 |
| 38 | OrderQty | 可 | 任意の有効な値 | 数量 | 注文された株数。 これは株式の場合は株数を、オプション、先物、転換社債などの場合は通常の慣例に基づいて契約数を表します。 最大精度は0.01です。 FIX 4.2以前では、このフィールドのタイプは「整数」でした。 |
| 40 | OrdType | 可 | 1、2 または 3 | 文字 | 1 = 成行注文、注文はIOC(即時または取消)方式で処理されます(TimeInForce、タグ=59)。 2 = 指値注文、注文はGTC(キャンセルするまで有効)方式で処理されます(TimeInForce、タグ=59)。 3 = 逆指値注文、注文はGTC(キャンセルするまで有効)方式で処理されます(TimeInForce、タグ=59)。 |
| 44 | Price | 不可 | 任意の有効な値 | 価格 | クライアントが受け入れる最悪の価格。 OrdType (タグ=40) = 2 の場合のみ必須で、この場合、この価格を満たさない限り注文は約定しません。 |
| 99 | StopPx | 不可 | 任意の有効な値 | 価格 | 逆指値注文をトリガーする価格。 OrdType (タグ=40) = 3 の場合のみ必須で、この場合、この価格を満たさない限り注文は約定しません。 |
| 59 | TimeInForce | 不可 | 1, 3 or 6 | String | 非推奨、この値は無視されます。 TimeInForceはOrdType (タグ=40)とExpireTime (タグ=126)に応じて自動的に検出されます: 1 = GTC(キャンセルするまで有効)、ExpireTime (タグ=126)が定義されていない場合のみ指値注文と逆指値注文(OrdType、タグ=40)に使用されます。 3 = IOC(即時または取消)、成行注文(OrdType、タグ=40)にのみ使用されます。 6 = GTD(指定日時まで有効)、ExpireTime (タグ=126)が定義されている場合のみ指値注文と逆指値注文(OrdType、タグ=40)に使用されます。 |
| 126 | ExpireTime | 不可 | 20140215-07:24:55 | タイムスタンプ | YYYYMMDD-HH:MM:SS形式の有効期限。 設定されている場合、注文はGTD方式(TimeInForce: GTD)で処理されます。 |
| 721 | PosMaintRptID | 不可 | 任意の有効な値 | String | この注文を配置するポジションID。 設定されていない場合、新しいポジションが作成され、そのIDが約定報告メッセージで返されます。 ヘッジアカウントでのみ指定できます。 |
| 494 | Designation | 不可 | 任意の有効な値 | String | カスタム注文ラベル。 |
Standard Trailer | 可 |
以下に新規注文メッセージの例を示します。
新規ポジションへの成行注文
リクエスト:
8=FIX.4.4|9=143|35=D|49=live.theBroker.12345|56=CSERVER|34=77|52=20170117-10:02:14|50=any_string|57=TRADE|11=876316397|55=1|54=1|60=20170117-10:02:14|40=1|38=10000|10=010|
応答:
8=FIX.4.4|9=197|35=8|34=77|49=CSERVER|50=TRADE|52=20170117-10:02:14.720|56=live.theBroker.12345|57=any_string|11=876316397|14=0|37=101|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:14.591|150=0|151=10000|721=101|10=149|
8=FIX.4.4|9=206|35=8|34=78|49=CSERVER|50=TRADE|52=20170117-10:02:15.045|56=live.theBroker.12345|57=any_string|6=1.0674|11=876316397|14=10000|32=10000|37=101|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:14.963|150=F|151=0|721=101|10=077|
既存ポジションへの成行注文
リクエスト:
8=FIX.4.4|9=151|35=D|49=live.theBroker.12345|56=CSERVER|34=80|52=20170117-10:02:55|50=any_string|57=TRADE|11=876316398|55=1|54=1|60=20170117-10:02:55|40=1|38=10000|721=101|10=120|
応答:
8=FIX.4.4|9=197|35=8|34=80|49=CSERVER|50=TRADE|52=20170117-10:02:56.003|56=live.theBroker.12345|57=any_string|11=876316398|14=0|37=102|38=10000|39=0|40=1|54=1|55=1|59=3|60=20170117-10:02:55.984|150=0|151=10000|721=101|10=156|
8=FIX.4.4|9=207|35=8|34=81|49=CSERVER|50=TRADE|52=20170117-10:02:56.239|56=live.theBroker.12345|57=any_string|6=1.06735|11=876316398|14=10000|32=10000|37=102|38=10000|39=2|40=1|54=1|55=1|59=3|60=20170117-10:02:56.210|150=F|151=0|721=101|10=127
既存ポジションへの指値注文
リクエスト:
8=FIX.4.4|9=162|35=D|49=live.theBroker.12345|56=CSERVER|34=89|52=20170117-10:06:22|50=any_string|57=TRADE|11=876316400|55=1|54=2|60=20170117-10:06:22|40=2|44=1.07162|38=50000|721=101|10=122|
応答:
8=FIX.4.4|9=208|35=8|34=90|49=CSERVER|50=TRADE|52=20170117-10:06:22.466|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=149|
新規ポジションへの逆指値注文
リクエスト:
8=FIX.4.4|9=153|35=D|49=live.theBroker.12345|56=CSERVER|34=9|52=20170117-12:10:48|57=TRADE|50=any_string|11=876316418|55=1|54=1|60=20170117-12:10:48|40=3|38=50000|99=1.07148|10=249|
応答:
8=FIX.4.4|9=207|35=8|34=8|49=CSERVER|50=TRADE|52=20170117-12:10:48.400|56=live.theBroker.12345|57=any_string|11=876316418|14=0|37=205|38=50000|39=0|40=3|54=1|55=1|59=1|60=20170117-12:10:48.362|99=1.07148|150=0|151=50000|721=202|10=122|
Order Status Request (MsgType(35)=H)¶
注文状況リクエストメッセージは、機関がトレーダーから注文状況メッセージを生成するために使用します。 正しい相互作用のためには、すべての注文に対して一意のクライアント注文識別子(ClOrdID)を持つことが非常に重要です。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 11 | ClOrdID | 可 | 任意の有効な値 | String | クライアントによって割り当てられた注文の一意の識別子。 |
| 54 | Side | 不可 | 1または2 | Integer | 1 = Buy 2 = Sell |
Standard Trailer | 可 |
以下に注文状況リクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=98|35=H|49=live.theBroker.12345|56=CSERVER|34=95|52=20170117-10:08:31|50=any_string|57=TRADE|11=876316400|10=191|
応答:
8=FIX.4.4|9=208|35=8|34=95|49=CSERVER|50=TRADE|52=20170117-10:08:31.819|56=live.theBroker.12345|57=any_string|11=876316400|14=0|37=104|38=50000|39=0|40=2|44=1.07162|54=2|55=1|59=1|60=20170117-10:06:22.436|150=0|151=50000|721=101|10=158|
Order Mass Status Request (MsgType(35)=AF)¶
注文一括状況リクエストメッセージは、リクエスト内で指定された基準に一致する注文の状況をリクエストします。 回答は、複数の約定報告メッセージ(各注文に対して1つ)として返されるか、注文が見つからない場合はビジネスメッセージ拒否メッセージとして返されます。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 584 | MassStatusReqID | 可 | 任意の有効な値 | String | クライアントによって割り当てられたマスステータスリクエストの一意のID。 |
| 585 | MassStatusReqType | 可 | 任意の有効な値 | Integer | 7 = すべての注文のステータス。 現在、値 7 のみがサポートされています。 |
| 225 | IssueDate | 不可 | 任意の有効な値 | String | 設定された場合、レスポンスにはこの日付より前に作成された注文のみが含まれます。 |
Standard Trailer | 可 |
以下に注文マスステータスリクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=117|35=AF|34=3|49=live.theBroker.12345|52=20170404-07:20:55.325|56=CSERVER|57=TRADE|225=20170404-07:20:44.582|584=mZzEY|585=7|10=065|
応答:
8=FIX.4.4|9=199|35=8|34=13|49=CSERVER|50=TRADE|52=20170404-07:20:55.333|56=live.theBroker.12345|14=0|37=635|38=100000|39=0|40=2|44=1.35265|54=2|55=1|59=1|60=20170404-07:20:44.582|150=I|151=100000|584=mZzEY|721=617|911=1|10=152|
Execution Report (MsgType(35)=8)¶
受け入れられた注文の約定報告メッセージは以下の形式になります。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 37 | OrderID | 可 | 任意の有効な値 | String | cTraderの注文ID。 |
| 11 | ClOrdID | 不可 | 任意の有効な値 | String | クライアントによって割り当てられた注文の一意の識別子。 |
| 911 | TotNumReports | 不可 | 任意の有効な値 | Integer | 注文マスステータスリクエストメッセージに対するレスポンスで返される報告の総数。 |
| 150 | ExecType | 可 | 任意の有効な値 | 文字 | 0 = New 4 = Canceled 5 = Replace 8 = Rejected C = Expired F = Trade I = Order Status |
| 39 | OrdStatus | 可 | 任意の有効な値 | 文字 | 0 = 新規 1 = 部分約定 2 = 約定済み 8 = 拒否 4 = キャンセル済み(注文が部分約定の場合、Canceledが返され、(タグ=151)LeavesQtyがキャンセルされ、その後約定されません)。 C = 期限切れ |
| 55 | Symbol | 不可 | 任意の有効な値 | 買い | 銘柄識別子はSpotwareによって提供されます。 |
| 54 | Side | 不可 | 1または2 | Integer | 1 = 買い 2 = 売り |
| 60 | TransactTime | 不可 | 任意の有効な値 | タイムスタンプ | 約定報告メッセージで表される取引の実行時間(UTC)。 |
| 6 | AvgPx | 不可 | 任意の有効な値 | Integer | 取引が約定した価格。 IOCまたはGTD注文の場合、これは約定した注文の売買高加重平均価格(VWAP)です。 |
| 38 | OrderQty | 不可 | 任意の有効な値 | 数量 | これは株式の場合は株数を、オプション、先物、転換社債などの場合は通常の慣例に基づいて契約数を表します。 FIX 4.2以前では、このフィールドのタイプは「整数」でした。 |
| 151 | LeavesQty | 不可 | 任意の有効な値 | 数量 | まだ約定されていない注文の数。 可能な値は 0(完全約定)から OrderQty(部分約定)の間です。 |
| 14 | CumQty | 不可 | 任意の有効な値 | 数量 | 約定済みの注文の総数。 |
| 32 | LastQty | 不可 | 任意の有効な値 | 数量 | この(最後の)約定で約定した注文の買い/売りの数量。 |
| 40 | OrdType | 不可 | 1または2 | 文字 | 1 = 成行 2 = 指値 |
| 44 | Price | 不可 | 任意の有効な値 | 価格 | 新規注文メッセージで提供された場合、この約定報告メッセージでエコーバックされます。 |
| 99 | StopPx | 不可 | 任意の有効な値 | 価格 | 新規注文メッセージで提供された場合、この約定報告メッセージでエコーバックされます。 |
| 59 | TimeInForce | 不可 | 1、3 または 6 | String | 1 = 取り消すまで有効(GTC) 3 = 即時または取り消し(IOC) 6 = 指定日まで有効(GTD) |
| 126 | ExpireTime | 不可 | 20140215-07:24:55 | タイムスタンプ | 新規注文メッセージで提供された場合、この約定報告メッセージでエコーバックされます。 |
| 58 | Text | 不可 | 任意の有効な値 | String | 可能な場合、メッセージは約定報告を説明します。 |
| 103 | OrdRejReason | 不可 | 0 | Integer | 0 = OrdRejReason.BROKER_EXCHANGE_OPTION |
| 721 | PosMaintRptID | 不可 | 任意の有効な値 | String | ポジションID。 |
| 494 | Designation | 不可 | 任意の有効な値 | String | クライアントのカスタム注文ラベル。 |
| 584 | MassStatusReqID | 不可 | 任意の有効な値 | String | クライアントによって割り当てられたマスステータスリクエストの一意のID。 |
| 1000 | AbsoluteTP | 不可 | 任意の有効な値 | 価格 | 利食いがトリガーされる絶対価格。 |
| 1001 | RelativeTP | 不可 | 任意の有効な値 | 価格 | 利食いがトリガーされるエントリー価格からのpips単位の距離。 |
| 1002 | AbsoluteSL | 不可 | 任意の有効な値 | 価格 | 損切りがトリガーされる絶対価格。 |
| 1003 | RelativeSL | 不可 | 任意の有効な値 | 価格 | 損切りがトリガーされるエントリー価格からのpips単位の距離。 |
| 1004 | TrailingSL | 不可 | N または Y | Boolean | 損切りがトレーリングかどうかを示します。 N = 損切りはトレーリングではありません。 Y = 損切りはトレーリングです。 |
| 1005 | TriggerMethodSL | 不可 | 任意の有効な値 | Integer | 損切りの指定されたトリガー方法。 1 = 損切りはトレードサイドによってトリガーされます。 2 = 損切りは反対側によってトリガーされます(買いポジションの場合は買値、売りポジションの場合は売値)。 3 = 損切りはトレードサイドに従って2回連続のティックの後にトリガーされます。 4 = 損切りは反対側に従って2回連続のティックの後にトリガーされます(買いポジションの場合は2回目の買値ティック、売りポジションの場合は2回目の売値ティック)。 |
| 1006 | GuaranteedSL | 不可 | N または Y | Boolean | 損切りが保証されているかどうかを示します。 N = 損切りは保証されていません。 Y = 損切りは保証されています。 |
Standard Trailer | 可 |
ガイドの最後にある新規注文の例をご覧ください。
Business Message Reject (MsgType(35)=j)¶
このメッセージタイプは、システムがサブスクリプションリクエストを処理できない場合や注文が実行できない場合に送信されます。
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 45 | RefSeqNum | 不可 | 任意の有効な値 | Integer | 拒否されたメッセージの MsgSeqNum(タグ=34)。 |
| 372 | RefMsgType | 不可 | 任意の有効な値 | String | 参照されているFIXメッセージの MsgType(タグ=35)。 |
| 379 | BusinessRejectRefID | 不可 | 任意の有効な値 | String | 参照されているメッセージのビジネスレベルIDフィールドの値。 対応するIDフィールドが指定されていない場合を除き、必須です。 |
| 380 | BusinessRejectReason | 可 | 0 | Integer | ビジネスメッセージ拒否メッセージの理由を識別するコード。 0 = その他 |
| 58 | Text | 不可 | 任意の有効な値 | String | 可能な場合、拒否の理由を説明するメッセージ。 |
Standard Trailer | 可 |
以下にビジネスメッセージ拒否メッセージの例を示します。
8=FIX.4.4|9=149|35=j|34=2|49=CSERVER|52=20170105-06:36:00.912|56=live.theBroker.12345|57=any_string|58=Message to explain reason for rejection|379=u4Jr7Rr5t2VS7HSP|380=0|10=123|
Request for Positions (MsgType(35)=AN)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 710 | PosReqID | 可 | 任意の有効な値 | String | 一意のリクエストID(クライアントによって設定)。 |
| 721 | PosMaintRptID | 不可 | 任意の有効な値 | String | リクエストするポジションID。 設定されていない場合、すべてのオープンポジションが返されます。 |
Standard Trailer | 可 |
以下にポジションリクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=100|35=AN|49=live.theBroker.12345|56=CSERVER|34=99|52=20170117-10:09:54|50=any_string|57=TRADE|710=876316401|10=103|
応答:
8=FIX.4.4|9=163|35=AP|34=98|49=CSERVER|50=TRADE|52=20170117-10:09:54.076|56=live.theBroker.12345|57=any_string|55=1|710=876316401|721=101|727=1|728=0|730=1.06671|702=1|704=0|705=30000|10=182|
Position Report (MsgType(35)=AP)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 710 | PosReqID | 可 | 任意の有効な値 | String | ポジションリクエストメッセージのID。 |
| 721 | PosMaintRptID | 不可 | 任意の有効な値 | String | ポジションID。PosReqResult(タグ=728)が VALID_REQUEST でない場合は設定されません。 |
| 727 | TotalNumPosReports | 可 | 任意の有効な値 | String | PosReqResult(タグ=728)が VALID_REQUEST の場合のシーケンス内のポジションレポートの総数、それ以外の場合は 0。 |
| 728 | PosReqResult | 可 | 0 または 2 | String | 0 = 有効なリクエスト 2 = 条件に一致するオープンポジションが見つかりません。 |
| 55 | Symbol | 不可 | 任意の有効な値 | String | 現在のポジションレポートが作成されたシンボル。 PosReqResult(タグ=728)が VALID_REQUEST でない場合は設定されません。 |
| 702 | NoPositions | 不可 | 1 | String | PosReqResult(タグ=728)が VALID_REQUEST の場合は 1、それ以外の場合は設定されません。 |
| 704 | LongQty | 不可 | 任意の有効な値 | String | 買いトレードサイドの場合のポジションのオープンボリューム、売りトレードサイドの場合は 0。 PosReqResult(タグ=728)が VALID_REQUEST でない場合は設定されません。 |
| 705 | ShortQty | 不可 | 任意の有効な値 | String | 売りトレードサイドの場合のポジションのオープンボリューム、買いトレードサイドの場合は 0。 PosReqResult(タグ=728)が VALID_REQUEST でない場合は設定されません。 |
| 730 | SettlPrice | 不可 | 任意の有効な値 | String | 現在のポジションレポートのオープンボリュームの平均価格。 |
| 1000 | AbsoluteTP | 不可 | 任意の有効な値 | 価格 | 利食いがトリガーされる絶対価格。 |
| 1002 | AbsoluteSL | 不可 | 任意の有効な値 | 価格 | 損切りがトリガーされる絶対価格。 |
| 1004 | TrailingSL | 不可 | 任意の有効な値 | Boolean | 損切りがトレーリングかどうかを示します。 N = 損切りはトレーリングではありません。 Y = 損切りはトレーリングです。 |
| 1005 | TriggerMethodSL | 不可 | 任意の有効な値 | Integer | 損切りの指定されたトリガー方法。 1 = 損切りはトレードサイドによってトリガーされます。 2 = 損切りは反対側によってトリガーされます(買いポジションの場合は買値、売りポジションの場合は売値)。 3 = 損切りはトレードサイドに従って2回連続のティックの後にトリガーされます。 4 = 損切りは反対側に従って2回連続のティックの後にトリガーされます(買いポジションの場合は2回目の買値ティック、売りポジションの場合は2回目の売値ティック)。 |
| 1006 | GuaranteedSL | 不可 | 任意の有効な値 | Boolean | 損切りが保証されているかどうかを示します。 N = 損切りは保証されていません。 Y = 損切りは保証されています。 |
Standard Trailer | 可 |
Order Cancel Request (MsgType(35)=F)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 41 | OrigClOrdID | 可 | 任意の有効な値 | String | クライアントによって割り当てられた、キャンセルされる注文の一意の識別子。 |
| 37 | OrderID | 不可 | 任意の有効な値 | String | cServerによって返された注文の一意のID。 |
| 11 | ClOrdID | 可 | 任意の有効な値 | String | クライアントによって割り当てられたキャンセルリクエストの一意のID。 |
Standard Trailer | 可 |
以下に注文キャンセルリクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=115|35=F|34=2|49=live.theBroker.12345|50=Trade|52=20170721-13:41:21.694|56=CSERVER|57=TRADE|11=jR8dBPcZEQa9|41=n9Tm8x1AavO5|10=182|
応答(成功):
8=FIX.4.4|9=221|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.784|56=live.theBroker.12345|57=Trade|11=jR8dBPcZEQa9|14=0|37=641|38=100000|39=4|40=2|41=n9Tm8x1AavO5|44=1.499|54=1|55=1|59=1|60=20170721-13:41:21.760|150=4|151=100000|721=624|10=180|
応答(失敗):
8=FIX.4.4|9=174|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:41:21.856|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with clientOrderId=n9Tm8x1AavO5 not found.|379=jR8dBPcZEQa9|380=0|10=075|
Order Cancel Reject (MsgType(35)=9)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 37 | OrderID | 可 | 任意の有効な値 | String | システムがキャンセルできなかった注文の一意の識別子。 |
| 11 | ClOrdID | 可 | 任意の有効な値 | String | 注文キャンセルリクエストの一意の識別子。 |
| 41 | OrigClOrdID | 不可 | 任意の有効な値 | String | クライアントによって割り当てられた、キャンセルしようとした注文の一意の識別子。 |
| 39 | OrdStatus | 可 | 任意の有効な値 | 文字 | 0 = 新規 1 = 部分約定 2 = 約定済み 8 = 拒否 4 = キャンセル済み(注文が部分約定の場合、Canceledが返され、(タグ=151)LeavesQtyがキャンセルされ、その後約定されません)。 C = 期限切れ |
| 434 | CxlRejResponseTo | 可 | 1または2 | 文字 | 1 = キャンセル注文を拒否。 2 = 別の端末からの変更注文を拒否。 |
| 58 | Text | 不可 | 任意の有効な値 | String | 注文は実行中です。 |
Standard Trailer | 可 |
以下に注文キャンセル拒否メッセージの例を示します。
応答:
8=FIX.4.4|9=156|35=9|34=3|49=CSERVER|50=TRADE|52=20181024-12:35:02.896|56=live.theBroker.12345|57=Trade|11=gBljx7YOg5jY|37=629|39=0|41=FdXLfS0tTyUL|58=Order is under execution|434=1|10=109|
Order Cancel/Replace Request (MsgType(35)=G)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 41 | OrigClOrdID | 可 | Any valid value | String | クライアントによって割り当てられた、変更される注文の一意の識別子。 |
| 37 | OrderID | 不可 | 任意の有効な値 | String | サーバーによって割り当てられた、変更される元の注文の一意のID。 使用が推奨される方法。 |
| 11 | ClOrdID | 可 | 任意の有効な値 | String | クライアントによって割り当てられた変更リクエストの一意のID。 |
| 38 | OrderQty | 可 | 任意の有効な値 | 数量 | 古い値を置き換えるための既存または新しく指定された数量。 |
| 44 | Price | 不可 | 任意の有効な値 | 価格 | 古い値を置き換えるための既存または新しく指定された指値。 指値注文にのみ有効。 |
| 99 | StopPx | 不可 | 任意の有効な値 | 価格 | 古い値を置き換えるための既存または新しく指定されたストップ価格。 逆指値注文にのみ有効。 |
| 126 | ExpireTime | 不可 | 20140215-07:24:55 | タイムスタンプ | 既存または新しく指定された有効期限。 予約注文にのみ有効。 |
Standard Trailer | 可 |
以下に注文キャンセル/変更リクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=123|35=G|34=3|49=live.theBroker.12345|50=Trade|52=20170721-13:42:17.680|56=CSERVER|57=TRADE|11=Is03AvsknNYK|38=5000|41=n9Tm8x1AavO5|44=1.1|10=010|
応答(成功):
8=FIX.4.4|9=192|35=8|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|11=Is03AvsknNYK|14=0|37=629|38=5000|39=0|40=2|44=1.1|54=1|55=1|59=1|60=20170721-13:42:18.760|150=5|151=5000|721=624|10=150|
応答(失敗):
8=FIX.4.4|9=171|35=j|34=3|49=CSERVER|50=TRADE|52=20170721-13:42:18.784|56=live.theBroker.12345|57=Trade|58=ORDER_NOT_FOUND:Order with orderId:4429421711699105367 isn't found|379=NXek3EzJvMme|380=0|10=245|
Market Data Request Reject (MsgType(35)=Y)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 262 | MDReqID | 可 | 任意の有効な値 | String | リクエストのMDReqID(タグ=262)を参照する必要があります。 |
| 281 | MDReqRejReason | 不可 | 任意の有効な値 | Integer | 0 = 不明な通貨ペア 4 = サポートされていないSubscriptionRequestType(タグ=263) 5 = サポートされていないMarketDepth(タグ=264) |
Standard Trailer | 可 |
以下に市場データリクエスト拒否メッセージの例を示します。
リクエスト:
8=FIX.4.4|9=148|35=V|34=2|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.032|56=CSERVER|57=QUOTE|262=CS8260:sXlXex|263=1|264=0|265=1|146=1|55=CS8260|267=2|269=0|269=1|10=129|
拒否:
8=FIX.4.4|9=164|35=Y|34=2|49=CSERVER|50=QUOTE|52=20170920-09:52:13.036|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: Expected numeric symbolId, but got CS8260|262=CS8260:sXlXex|281=0|10=236|
リクエスト:
8=FIX.4.4|9=136|35=V|34=6|49=live.theBroker.12345|50=Quote|52=20170920-09:52:13.199|56=CSERVER|57=QUOTE|262=EwOhiWvMdCpc|263=1|264=3|146=1|55=1|267=2|269=0|269=1|10=182|
拒否:
8=FIX.4.4|9=157|35=Y|34=6|49=CSERVER|50=QUOTE|52=20170920-09:52:13.201|56=live.theBroker.12345|57=Quote|58=INVALID_REQUEST: MarketDepth should be either 0 or 1|262=EwOhiWvMdCpc|281=5|10=088|
Security List Request (MsgType(35)=x)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 320 | SecurityReqID | 可 | 任意の有効な値 | String | 証券定義リクエストの一意のID。 |
| 559 | SecurityListRequestType | 可 | 0 | Integer | 行われている証券リストリクエストのタイプ。 サポートされているのは0 = Symbol(タグ=55)のみです。 |
| 55 | Symbol | 不可 | 任意の有効な値 | Integer | 通貨ペア名を解決するためのID。 |
Standard Trailer | 可 |
以下に証券リストリクエストメッセージの例を示します。
リクエスト:
8=FIX.4.4|9=107|35=x|34=3|49=live.theBroker.12345|50=Trade|52=20180427-12:24:27.106|56=CSERVER|57=TRADE|55=39|320=ILCea0JkdQEm|559=0|10=248|
応答:
8=FIX.4.4|9=158|35=y|34=3|49=CSERVER|50=TRADE|52=20180427-12:24:27.107|56=live.theBroker.12345|57=Trade|320=ILCea0JkdQEm|322=responce:ILCea0JkdQEm|560=0|146=1|55=39|1007=NZDCHF|1008=4|10=088|
Security List (MsgType(35)=y)¶
| タグ | フィールド名 | 必須 | 値 | FIX形式 | コメント |
|---|---|---|---|---|---|
Standard Header | 可 | ||||
| 320 | SecurityReqID | 可 | 任意の有効な値 | String | 証券定義リクエストの一意のID。 |
| 322 | SecurityResponseID | 可 | 任意の有効な値 | String | 証券リストレスポンスの一意のID。 |
| 560 | SecurityRequestResult | 可 | 0 | Integer | 証券リクエストメッセージに返される結果。 有効な値は以下の通りです: 0 = 有効なリクエスト。 1 = 無効またはサポートされていないリクエスト。 2 = 選択基準に一致する金融商品が見つかりません。 3 = 金融商品データの取得が許可されていません。 4 = 金融商品データが一時的に利用できません。 5 = 金融商品データのリクエストがサポートされていません。 |
| 146 | NoRelatedSym | 不可 | 任意の有効な値 | Integer | 繰り返される通貨ペア(金融商品)の数を指定します。 |
| 55 | Symbol | 不可 | 任意の有効な値 | Integer | 銘柄識別子はSpotwareによって提供されます。 |
| 1007 | SymbolName | 不可 | 任意の有効な値 | String | 通貨ペア名。 |
| 1008 | SymbolDigits | 不可 | 任意の有効な値 | Integer | 通貨ペアの小数点以下の桁数。 可能な値は0から5まで。 |
Standard Trailer | 可 |
以下に証券リストメッセージの例を示します。
応答:
8=FIX.4.4|9=3977|35=y|34=2|49=CSERVER|50=TRADE|52=20180426-12:07:37.816|56=live.theBroker.12345|57=Trade|320=Sxo2Xlb1jzJC|322=responce:Sxo2Xlb1jzJC|560=0|146=143|55=1|1007=EURUSD|1008=5|55=2|1007=GBPUSD|1008=5|55=3|1007=EURJPY|1008=3|55=4|1007=USDJPY|1008=3|55=5|1007=AUDUSD|1008=5|55=6|1007=USDCHF|1008=5|55=7|1007=GBPJPY|1008=3|55=8|1007=USDCAD|1008=5|55=9|1007=EURGBP|1008=5|55=10|1007=EURCHF|1008=5|55=11|1007=AUDJPY|1008=2|55=12|1007=NZDUSD|1008=5|55=13|1007=CHFJPY|1008=2|55=14|1007=EURAUD|1008=4|55=15|1007=CADJPY|1008=2|55=16|1007=GBPAUD|1008=4|55=17|1007=EURCAD|1008=4|55=10001|1007=USDCFDSAX|1008=5|55=18|1007=AUDCAD|1008=4|55=10002|1007=CD3295|1008=5|55=19|1007=GBPCAD|1008=4|55=10003|1007=DU3295|1008=5|55=20|1007=AUDNZD|1008=4|55=10004|1007=CS5965|1008=2|55=21|1007=NZDJPY|1008=2|55=10005|1007=CS6014_3|1008=5|55=22|1007=USDNOK|1008=4|55=10006|1007=DU6014_3|1008=5|55=23|1007=AUDCHF|1008=4|55=10007|1007=CS6014_4|1008=5|55=24|1007=USDMXN|1008=4|55=10008|1007=DU6014_4|1008=5|55=25|1007=GBPNZD|1008=4|55=10009|1007=CS5953|1008=5|55=26|1007=EURNZD|1008=4|55=10010|1007=CS6407_01_EURUSD|1008=5|55=27|1007=CADCHF|1008=4|55=10011|1007=CS6407_01_GBPUSD|1008=5|55=28|1007=USDSGD|1008=5|55=10012|1007=CS6407_02_EURUSD|1008=5|55=29|1007=USDSEK|1008=4|55=10013|1007=CS6407_03_EURUSD|1008=5|55=30|1007=NZDCAD|1008=4|55=31|1007=EURSEK|1008=4|55=10015|1007=CS7847_01_EURUSD|1008=5|55=32|1007=GBPSGD|1008=4|55=10016|1007=CS7847_01_GBPUSD|1008=5|55=33|1007=EURNOK|1008=4|55=10017|1007=CS7847_02_EURUSD|1008=5|55=34|1007=EURHUF|1008=2|55=10018|1007=CS7847_03_EURUSD|1008=5|55=35|1007=USDPLN|1008=4|55=10019|1007=CS7847_04_GBPUSD|1008=5|55=36|1007=USDDKK|1008=4|55=10020|1007=CS9004S|1008=2|10=096|