問題タブ [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.
quickfix - イニシエーターがログオン応答を見逃しているように見え、安定したセッションを構築できないのはなぜですか?
今日の私のFIXイニシエーターはデフォルト時間にメッセージを受け取らず、アクティブかどうかをテストするためにアクセプターにTESTメッセージを送信し、HEARTBEAT応答を受け取らなかったため、セッションが壊れていると信じて、セッションを切断し、ログオンを開始しましたアクセプターからログオン応答を受け取らない間に、acceportが応答を送信したように見える間に要求します。何が問題なのか。QuickFIXJとFIX4.2を使用しています
以下はイベントログです。
イニシエーターイベントログ:
アクセプターイベントログ:
イニシエーターメッセージログ
アクセプターメッセージログ:
メッセージログには、クライアントが頻繁にログオンしていることが示されていますが、その理由は何ですか。
java - FIX メッセージのエンコーダとデコーダの設計
ビジネス ドメイン Order オブジェクトをエンコード (FIX に変換) およびデコード (FIX から変換) する単純な FIX メッセージ エンコーダーとデコーダーを設計しようとしています。何かをデザインしましたが、思い通りの美しいデザインを実現できません。この種のものを構築した経験のある他の人がより良いデザインのアイデアを持っているかどうかを確認したかった.
これは私が大まかに持っているものです: ビジネスオブジェクト注文、QuickFIX オブジェクトメッセージ。NewOrder/Cancel/Replace メッセージを生成する必要がありますが、交換ごとにメッセージが異なる可能性があります。ReplaceEncoder --> NewOrderEncoder --> AbstractEncoder、CancelEncoder --> AbstractEncoder を持つことができます。しかし、これに別の次元が必要な場合、たとえば、さまざまな交換用にカスタム メッセージを生成する場合、階層の組み合わせが多すぎます。
私の唯一の賭けは、さまざまな取引所に対してさまざまなコードを平凡に書くことですか? 他の人はこれをどのように達成しますか? ありがとう。
fix-protocol - 「NoMDEntries」とは何ですか?
FAST 増分更新メッセージで、「NoMDEntries」フィールドを見つけました。説明は「Market Data メッセージのエントリ数」です。
それは何ですか?このフィールドをどのように使用すればよいですか?
php - PHP で Modulo 256 チェックサムを計算する
私はすでに Stackoverflow を検索しましたが、残念ながら何も見つかりませんでした。私は FIX プロトコルを使用しており、http://fixwiki.fixprotocol.org/fixwiki/CheckSumで説明されているように Modulo 256 チェックサムを生成する必要があります。
次の FIX 文字列を使用します。
8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30
次のように返されます。
8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30|10=185|
ただし、私のスクリプトは次を返します。
8=FIX.4.2|9=42|35=0|49=A|56=B|34=12|52=20100304-07:59:30|10=199|
誰かが私を正しい方向に向けることができれば幸いです!
java - java.lang.Error: 無効な UTF-8 エンコーディングです
取引アプリケーションを介して取引を処理しようとしているとき、および FIX と通信しているときに、このエラーが発生します。
私は UTF-8 エンコーディングを使用しており、アプリケーションの各 POM ファイルで指定されています。取引がアプリケーションに入ったときに発生しています。誰もこのエラーに遭遇したことがありますか?
java - なぜクイックフィックスを使用するFIXフィールドがnullになるのですか?
FIX初心者です。FIX メッセージがあります。
私はquickfixJを使用しています。ここに私のクラスコードがあります:
このメソッドを呼び出すと、2012 null さまざまなフィールドに対してあらゆる種類のメソッドを試したところ、null が返されました。日付が null にならない理由と、他のフィールドを正しく解釈するにはどうすればよいかについて混乱していますか?
私が持っている文字列 (上部) をメッセージに入力する場所がわかりません
quickfix - FIXディクショナリにユーザー定義フィールドを追加する
FIX4.4ディクショナリのフィールドを追加/変更する必要があります。これに関する役立つドキュメントやチュートリアルは見つかりませんでした。
FIX44.xmlファイルを変更する必要があると思いますが、正確に変更する方法がわかりません。タグには、<message></message>
そのフィールドの数またはタイプ(フォーマット)を定義する属性が表示されません。name
とrequired
属性だけが表示されます。
<fields></fields>
タグで探している属性を見つけたと思います。
正しい場所を探しているのか、正しいことをしているのかはわかりませんが、必要に応じて辞書を変更する必要があります。
助けてください。私を助けることができる初心者のためのチュートリアルへのリンクも大いにありがたいです。
fix-protocol - FIXプロトコル:ClearingBusinessDateフィールド
FIXプロトコルについて質問があります。PositionReportRequestメッセージを受信せずにPositionReportメッセージを送信する予定です。ただし、PositionReportメッセージのフィールドClearingBusinessDateに、そのフィールドの目的がわからないことを入力する必要があります。PositionReportRequestにはそのフィールドがありますが、レポートメッセージを送信する前にリクエストメッセージを受け取ることはありません。だから、どうあるべきかわからない。そして最悪のことはそれが必須フィールドであるということです。ClearingBusinessDateフィールドの値は何である必要がありますか?
ありがとう
pcap - tsharkエクスポートFIXメッセージ
目的
私は次のことを達成しようとしています:
- FIXプロトコルで会話を含むネットワークトラフィックをキャプチャする
- ネットワークトラフィックから個々のFIXメッセージを「素敵な」形式(CSVなど)に抽出します
- エクスポートされた「適切な」形式のデータに対してデータ分析を行います
私はこれを次のように達成しました:
- pcapを使用してネットワークトラフィックをキャプチャする
- tsharkを使用して関連データをCSVとして印刷する
- Python(パンダ)を使用してデータを分析する
問題
問題は、キャプチャされたTCPパケットの一部に複数のFIXメッセージが含まれていることです。つまり、tsharkを使用してCSVにエクスポートすると、1行にFIXメッセージが表示されません。これにより、CSVの使用が困難になります。
これは、CSVとして関連するFIXフィールドを抽出するために使用しているtsharkコマンドラインです。
パケット内にフィールドが複数出現する場合に、現在「-Eoccurrence = l」を使用して、名前付きフィールドの最後の出現のみを取得していることに注意してください。パケットに複数のFIXメッセージがあると情報が破棄されるため、これは許容できる解決策ではありません。
これは、エクスポートされたCSVファイル(1つのFIXメッセージのフィールド)の1行に表示されるものです。
これは、TCPパケットに複数のFIXメッセージ(この場合は3つ)があり、コマンドラインフラグ「-Eoccurrence=a」が使用されている場合に表示されます。
質問
pcapファイルから個々のプロトコル固有のメッセージを抽出する方法(必ずしもtsharkを使用する必要はありません)はありますか?
java - quickfixjFIX.4.2実行レポートからタグ値を取得する方法
各タグの値を取得して、 fix4.2メッセージをデータベースに永続化したい。修正メッセージのExecutionReportオブジェクトがあります。exec.getString(1)を使用してアカウントのタグ値を取得していますが、このタグ値がメッセージに存在しないため、FieldNotFound例外がスローされています。Fiximateで、アカウントは必須フィールドではないことがわかりました。
exec.getAccount()。getValue()も試してみましたが、同じ例外が発生しました。これらすべてのメソッドがFieldNotFound例外をスローすることがわかりました。
その必須ではないフィールドが修正メッセージに存在しない場合、タグ値をnullとして取得する方法はありますか?
どんな助けでも大歓迎です。
前もって感謝します。
よろしく、シャダブ