- はじめに
- 接続性
- メッセージ
- cTrader FIXエンジン
- 標準ヘッダー
- 標準トレーラー
- セッションメッセージ
- アプリケーションメッセージ
- Market Data Request (MsgType(35)=V)
- Market Data Snapshot/Full Refresh (MsgType(35)=W)
- Market Data Incremental Refresh (MsgType(35)=X)
- New Order Single (MsgType(35)=D)
- Order Status Request (MsgType(35)=H)
- Order Mass Status Request (MsgType(35)=AF)
- Execution Report (MsgType(35)=8)
- Business Message Reject (MsgType(35)=j)
- Request for Positions (MsgType(35)=AN)
- Position Report (MsgType(35)=AP)
- Order Cancel Request (MsgType(35)=F)
- Order Cancel Reject (MsgType(35)=9)
- Order Cancel/Replace Request (MsgType(35)=G)
- Market Data Request Reject (MsgType(35)=Y)
- Security List Request (MsgType(35)=x)
- Security List (MsgType(35)=y)
はじめに
範囲
本記事は、cTrader FIX Engine Application Programming Interface(API)の実装ガイドとして、ソフトウェア開発に役立つことを目的としています。
FIXバージョン
cTraderはFIXバージョン4.4をサポートしています。このバージョンの詳細については、これらの仕様を参照してください。
ディクショナリー
各コードのディクショナリーはこちらをご参照ください。
接続性
接続タイプ
cTraderのFIXエンジンへの接続は、インターネット、VPNトンネル、または英国にあるSpotWareのデータセンター施設へのクロスコネクト経由でご利用いただけます。
シーケンス番号リセット
すべての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 | メッセージ・ターゲット。有効な値は CSERVER。 |
| 57 | TargetSubID | 要 | QUOTE or TRADE | String | 追加のセッション修飾子。指定可能な値は QUOTE および TRADE です。 |
| 50 | SenderSubID | 不要 | 任意の有効な値 | String | 特定のメッセージ発信者を識別するために使用される割り当て値。TargetSubID=QUOTE の場合は QUOTE に設定する必要がある。 |
| 34 | MsgSeqNum | 要 | 1 | Integer | メッセージのシーケンス番号。 |
| 52 | SendingTime | 要 | 20131129-15:40:08.155 | UTCTimestamp | メッセージの送信時刻は常にUTC(協定世界時、GMTとしても知られる)で表される。 |
標準トレーラー
各メッセージは、管理用であれアプリケーションであれ、標準的なトレーラで終端されます。トレーラーはメッセージを分離するために使われ、3桁の CheckSum (tag=10) 値を含んでいます。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| 10 | CheckSum | 要 | 54 | String | 3バイトの単純なチェックサム。常にメッセージの最後のフィールド(つまりサーブ)で、末尾のがメッセージの区切り文字となる。これは3文字で定義される(常に暗号化されていない) |
セッションメッセージ
Heartbeat (MsgType(35)=0)
ハートビートメッセージは、ライブ接続を確認するために cTrader とクライアントアプリケーションの両方から送信されます。
プロバイダのクライアント・アプリケーションは、Logon メッセージの HeartBtInt (tag=108) フィールドによって定義される間隔で、または Test Request メッセージへの応答として、定期的にハートビートを送信します。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 112 | TestReqID | 不要 | 任意の有効な値 | String | ハートビートがテスト要求メッセージの結果である場合はTestReqID が必要。 |
| Standard Trailer | 要 |
Test Request (MsgType(35)=1)
リクエストの受信側からのハートビートを強制します。応答は、TestReqID を含む Heartbeat メッセージとして受信システムから送信されます。
| タグ | フィールド名 | 必須 | 値 | 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 | 秒単位のハートビート間隔。この値はSERVER.POLLING.INTERVALとしてconfig.propertiesファイル(クライアント側)に設定される。デフォルトの間隔値は30秒。HeartBtIntを0に設定すると、ハートビート・メッセージは不要になる。 |
| 141 | ResetSeqNumFlag | 不要 | Y | Boolean | FIXセッションのすべての側で、シーケンス番号をリセットすべきである。有効な値はY(リセット)である。 |
| 553 | Username | 不要 | 任意の有効な値 | String | 数値のユーザーID。ユーザーはSenderCompID値(ユーザーの組織、tag=49)にリンクされている。 |
| 554 | Password | 不要 | 任意の有効な値 | String | ユーザーパスワード。 |
| Standard Trailer | 要 |
Username(tag=553)フィールドには、数字によるトレーダーログイン値を含める必要があり、 「SenderCompID」(tag=49)フィールドには、環境、BrokerUID、およびドットで区切られたトレーダーログイン(live.theBroker.12345 など)を含める必要があることに注意してください。
以下のログオンメッセージの例を参照してください。
Request
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|
Response (Success)
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|
Response (Failed)
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 はテキスト (tag=58) フィールドにエラーの詳細を含むログアウトメッセージを応答として送信します。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 58 | Text | 不要 | 任意の有効な値 | String | ログオン拒否の詳細。無効なログオンメッセージ応答として、cTrader-to-clientメッセージにのみ使用される。 |
| Standard Trailer | 要 |
以下のログアウトメッセージの例を参照してください。
Request
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|
Response
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 | 不要 | 任意の有効な値 | Length | EncodedText(非ASCII文字)フィールドのバイト長。 |
| 355 | EncodedText | 不要 | 任意の有効な値 | Data | Text(tag=58)フィールドの表現。(標準ヘッダーの)MessageEncoding(tag=347)フィー ルドで指定されている書式でエンコードされている。ASCII 表現を使用する場合は、Text(tag=58)フィールドにも指定する。 |
| 371 | RefTagID | 不要 | 任意の有効な値 | Integer | メッセージ拒否を開始したFIXフィールドのタグ番号。 |
| 372 | RefMsgType | 不要 | 任意の有効な値 | String | 参照される FIX メッセージの MsgType (tag=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 文字)が含まれています。 |
Sequence Reset (MsgType(35)=4)
インバウンド/アウトバウンド・メッセージはアプリケーション・レベルでは使用すべきではありません。シーケンス・リセット・メッセージはシーケンス番号を増やすことしかできません。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 123 | GapFillFlag | 不要 | Yes or 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 or 2 | Char | 1 = スナップショット・プラス・アップデート (購読); 2 = 以前のスナップショットと更新要求を無効にする(購読解除)。 |
| 264 | MarketDepth | 要 | 0 or 1 | Integer | フルブックが提供される。 0 = デプス購読; 1 = スポット購読 |
| 265 | MDUpdateType | 要 | 任意の有効な値 | Integer | インクリメンタルリフレッシュのみサポート。 |
| 267 | NoMDEntryTypes | 要 | 2 | Integer | 常に2に設定する(ビッドとアスクの両方が送信される)。 |
| 269 | MDEntryType | 要 | 0 or 1 | Char | この繰り返しグループには、リクエスタが受信を希望するマーケットデータエントリーの全種類のリストが含まれます。 0 = ビッド; 1 = Offer。 |
| 146 | NoRelatedSym | 要 | 任意の有効な値 | Integer | 要求されたシンボルの数。 |
| 55 | Symbol | 要 | 任意の有効な値 | Long | 機器の識別はSpotware社が提供している。 |
以下のマーケットデータリクエストメッセージの例を参照。
スポット
Request
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|
Response
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|
デプス
Request
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|
Responses
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 | 要 | 任意の有効な値 | Long | 機器の識別はSpotware社が提供している。 |
| 268 | NoMDEntries | 要 | 任意の有効な値 | Integer | 以下のエントリー数。 |
| 269 | MDEntryType | 不要 | 0 or 1 | Char | 有効な値は以下の通り: 0 = 入札; 1 = オファー。 NoMDEntries (tag=268) > 0 のときのみ必要。 |
| 299 | QuoteEntryID | 不要 | 任意の有効な値 | String | QuoteSetの一部としての引用を一意に識別するもの。 |
| 270 | MDEntryPx | 不要 | 1.2345 | Price | マーケット・データ・エントリーの価格。NoMDEntries (tag=268) > 0 のときのみ必要。 |
| 271 | MDEntrySize | 不要 | 500000 | Volume | マーケット・データ・エントリーのボリューム。NoMDEntries (tag=268) > 0 のときのみ必要。 |
| 278 | MDEntryID | 不要 | 任意の有効な値 | String | マーケット・データ・エントリー固有の識別子。 |
Market Data Incremental Refresh (MsgType(35)=X)
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 262 | MDReqID | 不要 | 任意の有効な値 | String | 以前に送信されたマーケット・データ・リクエストのID。 |
| 268 | NoMDEntries | 要 | 任意の有効な値 | Integer | 以下のエントリ数。このリピーティンググループには、リクエスターが受信を希望する全てのタイプのマーケットデータエントリーのリストが含まれます。 |
| 279 | MDUpdateAction | 要 | 0 or 2 | Char | マーケットデータ更新アクションのタイプ。有効な値は以下の通り: 0 = 新規; 2 = 削除。 |
| 269 | MDEntryType | 不要 | 0 or 1 | Char | 有効な値は以下の通り: 0 = 入札; 1 = オファー。 |
| 278 | MDEntryID | 要 | 任意の有効な値 | String | 市場データエントリーのID。 |
| 55 | Symbol | 要 | 任意の有効な値 | Long | 機器の識別はSpotware社が提供している。 |
| 270 | MDEntryPx | 不要 | 1.2345 | Price | MDUpdateAction (tag=279) = 0 のときのみ必要。 |
| 271 | MDEntrySize | 不要 | 10000 | Double | MDUpdateAction (tag=279) = 0 のときのみ必要。 |
| Standard Trailer | 要 |
New Order Single (MsgType(35)=D)
ニューオーダーシングルメッセージは以下のような形式をとります。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 11 | ClOrdID | 要 | 任意の有効な値 | String | クライアントから割り当てられた注文の一意の識別子。 |
| 55 | Symbol | 要 | 任意の有効な値 | Long | 機器の識別はSpotware社が提供している。 |
| 54 | Side | 要 | 1 or 2 | Integer | 1 = 買い 2 = 売り |
| 60 | TransactTime | 要 | 任意の有効な値 | Timestamp | クライアントが生成したリクエスト時間。 |
| 38 | OrderQty | 要 | 任意の有効な値 | Qty | 注文株数。株式の場合は株式数、オプション、先物、転換社債などの場合は通常の慣習に基づく契約数を表す。最大精度は0.01。FIX 4.2以前では、このフィールドの型は’Integer’であった。 |
| 40 | OrdType | 要 | 1, 2 or 3 | Char | 1 = 成行、注文は即時または取消 (IOC) 方式で処理されます (TimeInForce、tag=59); 2 = 指値、注文はGTC (Good Till Cancel)スキームで処理されます (TimeInForce、tag=59); 3 = ストップ、注文はGTC (Good Till Cancel)スキームで処理されます (TimeInForce、tag=59)。 |
| 44 | Price | 不要 | 任意の有効な値 | Price | クライアントが受け入れる最悪のクライアント価格。OrdType (tag=40) = 2の場合のみ必要で、この場合、この価格が満たされない限り、注文は成立しない。 |
| 99 | StopPx | 不要 | 任意の有効な値 | Price | 逆指値注文のトリガーとなる価格。OrdType (tag=40) = 3 の場合のみ必要で、この場合、この価格が満たされない限り、注文は成立しない。 |
| 59 | TimeInForce | 不要 | 1, 3 or 6 | String | 非推奨。この値は無視される。TimeInForce は、OrdType (tag=40) と ExpireTime (tag=126) によって自動的に検出される。 1 = Good Till Cancel (GTC): ExpireTime (tag=126) が定義されていない場合、指値と逆指値注文 (OrdType, tag=40) にのみ使用される。 3 = Immediate or Cancel (IOC): 成行注文 (OrdType、tag=40) にのみ使用される。 6 = Good Till Date (GTD): ExpireTime (tag=126) が定義されている場合のみ、指値と逆指値注文 (OrdType, tag=40) に使用される。 |
| 126 | ExpireTime | 不要 | 20140215-07:24:55 | Timestamp | 有効期限を「YYYYMMDD-HH:MM:SS」形式で指定します。割り当てられている場合、注文はGTDスキーム(TimeInForce: GTD)で処理されます。 |
| 721 | PosMaintRptID | 不要 | 任意の有効な値 | String | この注文が発注されるべきポジションID。設定されていない場合、新しいポジションが作成され、その ID が約定報告メッセージで返されます。ヘッジされた口座にのみ指定できます。 |
| 494 | Designation | 不要 | 任意の有効な値 | String | カスタムオーダーラベル。 |
以下のニューオーダーシングルメッセージの例を参照。
新規ポジションへの成行注文
Request
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|
Responses
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|
既存のポジションへの成行注文
Request
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|
Responses
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|
既存のポジションへの指値注文
Request
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|
Responses
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|
Order Status Request (MsgType(35)=H)
注文ステータス要求メッセージは、トレーダから注文ステータスメッセージを返信するために、金融機 関によって使用されます。正しい処理には、すべての注文においてクライアント注文識別子(ClOrdID)が不可欠です。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 11 | ClOrdID | 要 | 任意の有効な値 | String | クライアントから割り当てられた注文の一意の識別子。 |
| 54 | Side | 不要 | 1 or 2 | Integer | 1 = 買い 2 = 売り |
| Standard Trailer | 要 |
以下のOder Status Requestメッセージの例を参照。
Request
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|
Responses
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 | 要 |
以下の Oder Mass Status Request メッセージの例を参照。
Request
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|
Responses
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 | 要 | 任意の有効な値 | Char | 0 = 新規; 4 = キャンセル 5 = 交換; 8 = 不採用; C = 期限切れ; F = 取引; I = 注文状況。 |
| 39 | OrdStatus | 要 | 任意の有効な値 | Char | 0 = 新規; 1 = 部分的に満たされた; 2 = (完全に)満たされた; 8 = 拒否; 4 = Canceled (オーダーが部分的に満たされた場合、Canceled が返され、(tag=151)、LeavesQty がキャンセルされ、その後満たされないことを意味する); C = 期限切れ。 |
| 55 | Symbol | 不要 | 任意の有効な値 | Long | 機器の識別はSpotware社が提供している。 |
| 54 | Side | 不要 | 1 or 2 | Integer | 1 = 買い 2 = 売り |
| 60 | TransactTime | 不要 | 任意の有効な値 | Timestamp | 実行報告メッセージで表されるトランザクションの実行時間(UTC)。 |
| 6 | AvgPx | 不要 | 任意の有効な値 | Integer | 取引が成立した価格。IOCまたはGTD注文の場合、これは満たされた注文の出来高加重平均価格(VWAP) |
| 38 | OrderQty | 不要 | 任意の有効な値 | Qty | 株式の場合は株数を表し、オプション、先物、転換社債などの場合は通常の慣習に基づく契約数を表す。FIX 4.2 以前では、このフィールドの型は ‘Integer’ でした。 |
| 151 | LeavesQty | 不要 | Any valid value | Qty | まだ埋まっていない注文の数。可能な値は、0 (完全に埋まった) から OrderQty (部分的に埋まった) の間。 |
| 14 | CumQty | 不要 | 任意の有効な値 | Qty | 完了した注文の総数。 |
| 32 | LastQty | 不要 | 任意の有効な値 | Qty | この(最後の)フィルで満たされた注文の買い/売りの数量。 |
| 40 | OrdType | 不要 | 1 or 2 | Char | 1 = 成行 2 = 指値 |
| 44 | Price | 不要 | 任意の有効な値 | Price | New Order Single メッセージで指定された場合、この Execution Report メッセージでエコーバックされる。 |
| 99 | StopPx | 不要 | 任意の有効な値 | Price | New Order Single メッセージで指定された場合、この Execution Report メッセージでエコーバックされる。 |
| 59 | TimeInForce | 不要 | 1, 3 or 6 | String | 1 = グッド・ティル・キャンセル(GTC); 3 = 即時またはキャンセル(IOC); 6 = グッドティルデート(GTD)。 |
| 126 | ExpireTime | 不要 | 20140215-07:24:55 | Timestamp | New Order Single メッセージで指定された場合、この Execution Report メッセージでエコーバックされる。 |
| 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 | 不要 | 任意の有効な値 | Price | 利食いがトリガーされる絶対価格。 |
| 1001 | RelativeTP | 不要 | 任意の有効な値 | Price | 利益確定がトリガーされるエントリー価格からの距離。 |
| 1002 | AbsoluteSL | 不要 | 任意の有効な値 | Price | ストップロスが発動される絶対価格。 |
| 1003 | RelativeSL | 不要 | 任意の有効な値 | Price | ストップロスがトリガーされるエントリー価格からのpips単位の距離。 |
| 1004 | TrailingSL | 不要 | N or Y | Boolean | ストップロスがトレイリングであるかどうかを示す。 N = ストップロスはトレイリングしない; Y = ストップロスがトレイリングしている。 |
| 1005 | TriggerMethodSL | 不要 | 任意の有効な値 | Integer | ストップロスのトリガー方法。 1 = ストップロスは取引側でトリガーされる。 2 = ストップロスは反対側(買いポジションの場合はアスク、売りポジションの場合はビッド)によってトリガーされる。 3 = ストップロスは、取引側によって2ティック連続でトリガーされる。 4 = 反対側の2ティック(買いポジションの場合は2回目のアスクティック、売りポジションの場合は2回目のビッドティック)後にストップロスが発生。 |
| 1006 | GuaranteedSL | 不要 | N or Y | Boolean | ストップ・ロスが保証されているかどうかを示す。 N = ストップロスは保証されていない。 Y = ストップロスが保証されている。 |
| Standard Trailer | 要 |
本記事の最後にあるニュー・オーダー・シングルの例を参照。
Business Message Reject (MsgType(35)=j)
このメッセージタイプは、システムがサブスクリプションリクエストを処理できないとき、またはオーダーを実行できないときに送信されます。
| タグ | フィールド名 | 必須 | 値 | FIXフォーマット | 脚注 |
| Standard Header | 要 | ||||
| 45 | RefSeqNum | 不要 | 任意の有効な値 | Integer | 拒否されたメッセージの MsgSeqNum (tag=34)。 |
| 372 | RefMsgType | 不要 | 任意の有効な値 | String | 参照されているFIXメッセージのMsgType(tag=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 | 要 |
以下のポジション要求メッセージの例を参照。
Request
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|
Responses
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 | PosReqResult(tag=728)がVALID_REQUESTでない場合は設定されないポジションID。 |
| 727 | TotalNumPosReports | 要 | 任意の有効な値 | String | PosReqResult (tag=728) が VALID_REQUEST である場合の、シーケンス内のポジション報告の総カウント。 |
| 728 | PosReqResult | 要 | 0 or 2 | String | 0 = 有効なリクエスト; 2 = 条件に一致するオープンポジションが見つかりません。 |
| 55 | Symbol | 不要 | 任意の有効な値 | String | 現在の位置報告が作成されているシンボル。PosReqResult (tag=728) が VALID_REQUEST でない場合は設定されない。 |
| 702 | NoPositions | 不要 | 1 | String | PosReqResult (tag=728) が VALID_REQUEST の場合は 1、そうでない場合は設定されない。 |
| 704 | LongQty | 不要 | 任意の有効な値 | String | 買い取引の場合はポジションの建玉数量、売り取引の場合は 0 に等しい。PosReqResult (tag=728) が VALID_REQUEST でない場合は設定されない。 |
| 705 | ShortQty | 不要 | 任意の有効な値 | String | 売り取引の場合はポジションの建玉数量、買い取引の場合は 0 に等しい。PosReqResult (tag=728) が VALID_REQUEST でない場合は設定されない。 |
| 730 | SettlPrice | 不要 | 任意の有効な値 | String | 現在のポジションレポートにおけるオープン済み数量の平均価格。 |
| 1000 | AbsoluteTP | 不要 | 任意の有効な値 | Price | 利食いがトリガーされる絶対価格。 |
| 1002 | AbsoluteSL | 不要 | 任意の有効な値 | Price | ストップロスが発動される絶対価格。 |
| 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 | 要 |
以下のオーダーキャンセルリクエストのメッセージの例を参照。
Request
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|
Response (Success)
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|
Response (Failed)
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 | 要 | 任意の有効な値 | Char | 0 = 新規; 1 = 部分的に満たされている; 2 = 満たされた; 8 = 拒否; 4 = キャンセル(オーダーが部分的に満たされた場合、LeavesQty はキャンセルされ、その後に満たされることはない); C = 期限切れ。 |
| 434 | CxlRejResponseTo | 要 | 1 or 2 | Char | 1 = キャンセル注文を拒否する。 2 = 他の端末からの訂正注文を拒否する。 |
| 58 | Text | 不要 | 任意の有効な値 | String | オーダー実行中。 |
| Standard Trailer | 要 |
以下の注文キャンセル拒否メッセージの例を参照。
Response
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 | 要 | 任意の有効な値 | String | クライアントによって割り当てられた、訂正される注文の一意の識別子。 |
| 37 | OrderID | 不要 | 任意の有効な値 | String | サーバーが割り当てる、訂正される元の注文の一意のID。使用するのが望ましい。 |
| 11 | ClOrdID | 要 | 任意の有効な値 | String | クライアントによって割り当てられた、一意のamendリクエストID。 |
| 38 | OrderQty | 要 | 任意の有効な値 | Qty | 古い値を置き換えるための、既存または新たに指定された量。 |
| 44 | Price | 不要 | 任意の有効な値 | Price | 古い値を置き換えるための、既存または新たに指定された指値。指値注文にのみ有効。 |
| 99 | StopPx | 不要 | 任意の有効な値 | Price | 古い値を置き換えるための、既存または新しく指定された逆指値。逆指値注文にのみ有効。 |
| 126 | ExpireTime | 不要 | 20140215-07:24:55 | Timestamp | 既存の有効期限または新たに指定された有効期限。保留中の注文に対してのみ有効。 |
| Standard Trailer | 要 |
以下の注文キャンセル/リプレイスリクエストのメッセージの例を参照してください。
Request
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|
Response (Success)
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|
Response (Failed)
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(tag=262)を参照しなければならない。 |
| 281 | MDReqRejReason | 不要 | 任意の有効な値 | Integer | 0 = 不明なシンボル 4 = サポートされていない SubscriptionRequestType (tag=263) 5 = サポートされていない MarketDepth (tag=264). |
| Standard Trailer | 要 |
以下のマーケットデータリクエスト拒否メッセージの例を参照。
Request
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|
Reject
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|
Request
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|
Reject
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 = 記号(tag=55)のみサポート。 |
| 55 | Symbol | 不要 | 任意の有効な値 | Integer | シンボル名を解決するためのID。 |
| Standard Trailer | 要 |
以下のセキュリティ・リスト・リクエスト・メッセージの例を参照。
Request
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|
Responses
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 | Security Requestメッセージに返される結果。有効な値は以下の通り: 0 = 有効なリクエスト 1 = 無効またはサポートされていないリクエスト 2 = 選択条件に一致する計器が見つからない 3 = 測定器データを取得する権限がない 4 = 測定器データが一時的に利用できない 5 = 測定器データの要求がサポートされていない。 |
| 146 | NoRelatedSym | 不要 | 任意の有効な値 | Integer | 繰り返し記号の数を指定する。 |
| 55 | Symbol | 不要 | 任意の有効な値 | Integer | 機器識別はSpotware社が提供。 |
| 1007 | SymbolName | 不要 | 任意の有効な値 | String | シンボル名。 |
| 1008 | SymbolDigits | 不要 | 任意の有効な値 | Integer | 記号の桁数。0から5までの値が可能。 |
| Standard Trailer | 要 |
以下のセキュリティ・リスト・メッセージの例を参照。
Response
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|
