問題タブ [fix-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
909 参照

java - 一連の置換でOrigClOrdID(タグ41)を修正します。それは注文の最初のものですか、それともチェーンの前のものですか?

したがって、注文の数量を変更(削減)する場合は常に(OrderCancelReplaceRequest)、新しいClOrdIDと元のClOrdID(タグ41)を送信する必要があります。では、もう一度数量を変更したとしましょう。私が今送信しなければならない元のClOrdID(タグ41)は、最初のものですか、それとも前のものですか?

0 投票する
1 に答える
3016 参照

quickfix - FIXを介して市場データを要求するときにグループを繰り返す必要があるのはなぜですか?

市場データリクエストで繰り返しグループを使用する必要がある理由を誰かに教えてもらえますか?そして、市場データの要求に対してアクセプターからどのような応答/応答を受け取る必要がありますか。アクセプター側でどのように市場データリクエストを受け取ることができるか教えてください。

マーケットデータリクエストの送信

終了コードの受信

0 投票する
2 に答える
188 参照

python - ネットワーク経由で受信したPython文字列(FIX)をバイナリとして解釈する

ソケット接続を介して修正メッセージを送信し、Pythonクライアント内で受信しています。データ内の各名前=値ペアを分離するSOHがあることを私は知っています。ただし、(文字列として)印刷された場合のデータにはSOHは表示されません。'|'を表示できるようにしたいために問題が発生します または、正規表現内では、個々のフィールドの境界が何であるかがわかりません。受信した文字列のdecode('hex')、decode('uu')を調べましたが、あまり成功していません。また、pack / unpackでは、フォーマット文字列を指定する必要があります(これは、すべての種類の修正に対して行う必要があります)。

クライアントにTwistedClientFactoryを使用しています。

助言がありますか?

フォローアップの質問:reprを使用して関数に渡し、「\x01」を「|」に置き換えます。これで、ネットワークから受け取ったデータを直接渡すと、置換は効果がないようです。ただし、出力をコピーして文字列リテラルとして同じ関数に渡すと、期待どおりに動作します(「\x01」を「|」に置き換えます)。また、re.subを使用してみましたが、まったく同じ結果になりました(文字列リテラルとして渡された場合は機能しますが、ネットワークから直接渡された場合は機能しません)。また、ネットワークからの値をファイルに出力し、vihexeditorを使用して文字列リテラルと比較しました。違いはありません。

いくつかの追加情報:ファイルから値を出力して読み戻すと、「\ x01」でfindを使用できません。これは、置換も機能しないことを意味します(機能しません)。これをバイト配列に変換しようとすると、バイト配列を反復処理すると、「\」、「x」、「0」、「1」のそれぞれが異なるバイトとして解釈されるように見えます。これは奇妙です。'\ x01'は文字列であるか、そうでないかのいずれかであり、16進数です。

助言がありますか?

ありがとう

0 投票する
1 に答える
4011 参照

ssl - Stunnel は非暗号化接続をサポートしていますか?

Stunnel について 1 つの質問。Stunnel をインターネットの FIX (Financial Information eXchange) ゲートウェイとして使用して、SSL 接続と非 SSL 接続の両方をサポートしたいと考えています。Stunnel は暗号化なしで実行できますか? 単純なソケットを試してみましたが、Stunnel が「無効なプロトコル」か何かを言って接続を拒否したようです。

0 投票する
2 に答える
1282 参照

c# - QuickFix を使用して secdef.dat ファイルを読み取る方法

ftp://ftp.cmegroup.com/fix/Production/secdef.dat.gzにある CME から静的証券定義ファイルを読み取ろうとしています。

これらは標準的な修正メッセージのように見えるので、ファイルを自分で解析するのではなく、QuickFix を使用して C# に読み込むことができると考えました。基本的に必要なことを行うテストアプリを作成しましたが、2 つの問題があります。

1) 文字列からメッセージを作成するときに、「無効なメッセージ: ヘッダー フィールドの順序が正しくありません」という QuickFix 例外が発生します。「validate」ブール値を false に設定すると、このメッセージは消えてコンストラクターは成功しますが、次の問題の指標になる可能性があります。

2) p.Crack を呼び出すと、QuickFix 例外 "QuickFix.UnsupportedMessageType" が発生しますが、サポートされていないと思われるメッセージの種類を示すものはないようです。

とにかく、QuickFix はこのように使用することを意図していなかったのかもしれませんが、これを機能させる方法についてのアイデアはありますか?

0 投票する
3 に答える
8800 参照

protocols - FIXプロトコルとFASTプロトコルの違いは?

FIXとFASTの違いを誰かが説明できますか?いつFIXを使用する必要があり、いつFASTを使用する必要がありますか?

0 投票する
4 に答える
678 参照

python - データ ブロック内の複数のバック ツー バック メッセージの解析

基本的にパイプで区切られた固定メッセージ (背中合わせ) で構成されるデータのブロックがあります。

私はpythonを使用していますが、考えられる唯一の方法は、8=FIX.4.2タグのインデックス(メッセージの開始を示す)を見つけ、前のメッセージの最後に戻ってメッセージを特定することです。

これが他の方法で達成できるかどうか疑問に思っていました(たとえば、正規表現)。ここで正規表現でグループ化構造を適用する方法がわかりません。

私が見ているデータの例として:

0 投票する
2 に答える
2120 参照

c# - Entity Framework 5 - 抽象型 'X' にはマップされた子孫がないため、マップできません

このオブジェクトを操作しようとすると、次のエラーが発生します。誰かアイデアはありますか?プロジェクトはGitHub にありますが、 FIXサーバーが配置されていない限り、実行できない可能性があります。このエラー メッセージをインターネットに接続できないようです。

0 投票する
2 に答える
1875 参照

java - 取引システムの注文オブジェクトの設計

FIX初めてのトレーディング システムを設計しようとしていますが、すべての概念を含む正しい Order オブジェクトを設計するのに苦労しています。経験豊富な人々がいくつかのアイデアに参加できるかどうか疑問に思っています.

シンプルな Order クラスを作成しました。しかし、NewOrderSingle(FIX) が生成されるので、ClOrdId. 次に、この注文をキャンセルするときに、新しいClOrdId(キャンセルおよび生成されたすべての FIX メッセージを置き換える) 必要があり、正しい を設定しますOrigClOrdId。だから私はそれらを追跡する必要がありOrigClOrdIdsます。

ClOrdIdまた、変化し続ける可能性がある とは異なり、この順序を識別するために、システム内に一意の Id を保持する必要があると思います。

FIX メッセージに関連するさまざまな Id の概念を別々に保ちながら、この注文オブジェクトを設計する優れたオブジェクト指向の方法が見つかりません。

人々は現実世界でこれらをどのように設計するのでしょうか? 助言がありますか?ありがとう。

0 投票する
1 に答える
471 参照

quickfix - NewOrderSingleMarketOrderに必須フィールドが35ありません

FIXサーバーがこのエラーをスローしている理由がわかりません。Fix.4.4を使用して、成行注文を生成するクライアントがあります。サーバーによって受信されていますが、エラーが返されます。

ログオンは、クライアント側とサーバー側で成功します。次に、クライアントは成行注文を送信します。

これは、サーバーの「fromApp」メソッドから受信されます。次に、サーバーは次のように応答します。(メッセージ92が拒否されました:条件付きで必須のフィールドがありません:35)

Field35は明らかにそこにあり、サーバーがエラーで応答している理由がわかりません。