問題タブ [quickfix]
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 - QuickFix の構成: ログインを試行しないようにするには、どのような設定を行えばよいですか?
QF 構成ファイルを読み取るソフトウェアのインスタンスがいくつかあります。デフォルトの設定では、朝にログインし、夕方にログアウトします。
ただし、実行するには 1 つのインスタンスが必要ですが、ログインは必要ありません。どうすればよいですか? デフォルトの時間をオーバーライドする必要がありますか (そうであれば、何を使用しますか?)、または設定できる別のフィールドはありますか?
ありがとう!
java - quickfixj を介して送信するときに修正メッセージをより迅速に処理するにはどうすればよいですか
QuickfixJ の処理速度に問題があります。この質問で、1 秒あたり 300 件のメッセージを処理できることを読みました。私はまた、数千単位で報告された数を見ました。私の Quickfix セッション コードは、メッセージのリストを受信し、Sesssion.SendToTarget(); を介して 1 つずつ送信します。
メッセージを送信するループが遅くなる可能性がありますが、メッセージのリストを送信する方法や、これらのメッセージを送信するプロセスを高速化する方法があるのではないかと考えていました。画面にログインしているため、速度が低下している可能性もあります。ヘッドレスで実行し、ファイル ログだけに記録するメリットはありますか?
.net - アセンブリが実動システムにロードされない理由として考えられるものは?
問題
アセンブリは開発時に問題なくロードされますが、本番環境ではロードできません。
詳細
アセンブリquickfix_net.dll
とquickfix_net_messages.dll
(Quickfix.NET API)が本番システムにロードできず、次の例外が発生します。
System.Windows.Threading.Dispatcher:System.IO.FileNotFoundException:ファイルまたはアセンブリ'quickfix_net.dll'またはその依存関係の1つを読み込めませんでした。指定されたモジュールが見つかりませんでした。ファイル名:'quickfix_net.dll'
私の修正の試み
- アプリケーションEXEの横にアセンブリが存在することを確認しました。
- ターゲットCPUをAnyCPUからx86に変更しました。
- を使用してx86として署名されたQuickfixアセンブリ
Corflags.exe
- 依存関係の欠落もないことを確認しました。
質問
開発システムと本番システムの主な違いは、最初に完全にロードされたアセンブリの問題を引き起こす可能性がありますが、後のシステムではロードされない可能性がありますか?
c# - 再接続せずにメッセージのシーケンス番号をリセットする
QuickFix の公式 Web サイトが機能していないため、ここで質問します。API の準備に対するブローカー (FXCM) の要求に応えようとしています。私はクイックフィックス .NET v1.13.3 を使用しています。要求の 1 つは、1 日に 1 回シーケンス番号をリセットする必要があり、接続がまだ機能している必要があるというものでした。しかし、次を使用してシーケンス番号をリセットすると:
接続が再接続されます。ログアウトせずにリセットする方法はありますか?
私の構成ファイル:
ログアウト メッセージのログで、次のエラーが見つかりました。
したがって、エラーはリセットのタイミングにあると思います。シーケンス番号をリセットしても安全な時期とその方法は?
numbers - QuickFixシーケンスのリセットが機能しない
アクセプター FIX エンジンに注文を送信するために、QuickFix/J (FIX 4.2) に取り組んでいます。基本的に、次の 2 つのアカウントについてサポートが必要です。
アクセプターとの接続を初めて確立しようとすると、アクセプターは「Msg Seq No too Low」という最初のログオン要求を拒否します。この後、私のイニシエーターは発信シーケンス番号を 1 ずつインクリメントし続けます。そしていいえ。アクセプターエンジンの一致が期待されているため、安定した接続が得られます。このプロセスを高速化するために、予想される seq の抽出を開始しました。番号。アクセプターエンジンによって送信された拒否メッセージから、発信シーケンス番号を変更しました。私のエンジンの使用
ただし、後で、エンジンが着信シーケンス番号を見つけた場合。予想よりも高い場合、再送信リクエストを送信します。それに応じて、相手はシーケンス リセット メッセージ (35=4、123=Y) を返します。このメッセージを受信した後、着信 seq no. 私のエンジンは、Seq Reset msg から受け取ったものに自動的に設定されるはずです。しかし、これは起こらず、私のエンジンは受信シーケンス番号を変更せずにメッセージの再送信要求を要求し続けます。興味深いのは、(setNextTargetMsgSeqNum を使用して) 最初に発信シーケンス番号を明示的に変更しない場合に、このことが機能することを発見したことです。
シーケンス リセット メッセージを受信したときに、エンジンが予期した動作を示さないのはなぜですか?
相手方と話しましたが、構成に ResetOnLogon=Y が含まれていません。そのため、エンジンが起動するたびに、seq no. を含むログオン要求を送信することがよくあります。予想より低い (1 から開始)。接続をすばやくセットアップするためのより良い方法はありますか? どうにかしてエンジンにシーケンス番号を使用させることができますか。落ちる直前から再開?理想的なアプローチは何ですか?
そのため、シーケンス番号を処理するファイルにメッセージを永続化しています。ただし、ここでも厄介なのは、私のクイックフィックス イニシエーター エンジンがシーケンス リセット メッセージに応答しないことです。現在、管理者のコールバックはまったくありません。
あるサーバーからアクセプターに接続し、そのセッションを閉じて、同じセッション ID を使用して別のサーバーを使用してアクセプターに接続すると、ほとんどの場合、シーケンス リセット メッセージへの応答がないことに気付きました。ログオンが受け入れられたら、問題なく動作することを期待しています。ただし、他のエンジンがシーケンス リセットを特定の番号に送信している間 (基本的にはギャップ フィル)、私の修正エンジンはそれに応答しません。つまり、予想されるシーケンス番号をリセットせず、アクセプターに再送信要求を送信し続けます。どんな助けでも大歓迎です!
quickfix - quickfixを使用してfix+fastを実行する方法は?
私はこのコネクタを購入することを検討しています:
MICEX FIX/FASTマーケットデータアダプターhttp://www.b2bits.com/trading_solutions/market-data-solutions/micex-fixfast.html
しかし、私はいくつかの理由でプロプライエタリソフトウェアが好きではなく、このコネクタをQuickFix+DIYコードに置き換えたいと思います。
100 usecのパフォーマンスの違いは私にとって重要ではありませんが、機能には関心があります。
特に、MICEXはFIX + Fastを使用し、参照されるコネクタは自動的に高速でデコードします。「ユーザーからFAST機能を隠し、自動的にFASTデコードを適用します。」
問題は、quickfixで同じことをどのように行うかです。いい考えですか?クイックフィックスを使用して参照コネクタを実装するのはどのくらい簡単ですか?
quickfix - クイックフィックスとアンテナの修正
2 つの主要な修正エンジンがあります。
- オープンソースのクイックフィックスhttp://www.quickfixengine.org/
- 商用修正アンテナhttp://www.b2bits.com/trading_solutions/fix_engines/fix_engine_cpp.html
それぞれの長所と短所は何ですか?Fix Antenna の方が速いことは知っていますが、他に何がありますか?
QuickFix プロジェクトは有効ですか。変更ログは、QuickFix への最後のコミットが 2010-04-06 06:22 であったことを示していますが、それはプロジェクトが死んでいることを意味しますか?
quickfix - 再送要求からのメッセージをQuickFixで処理するにはどうすればよいですか?
アクセプターアプリケーションを作成し、永続的なFIXセッションを使用しています。オフラインになったり、プログラムが再起動したりした場合に、再接続したときに、日中に送信されたすべてのメッセージを再処理して現在の状態に戻すように、リカバリモードを作成しようとしています。
これを行うには、起動時にすべてのメッセージの再送信要求をサーバーに送信します。それらは関連するすべてのメッセージを私に送り返し、possdupflag=Yおよびpossresend=Yとマークされます。各メッセージの前に、送信しようとしている繰り返しメッセージのシーケンスリセットを送信します。
問題は、これらのメッセージが私のメッセージクラッカーによって処理されていないようです。fromAdminとfromAppの両方がこれらのメッセージを受け取りません。重複フラグや再送のために無視されていると思います。では、これらのメッセージを見たいことをQuickFIXに伝える方法はありますか?
その点について-誰かがより良い回復プロセスに関する推奨事項を持っているなら、私は彼らにオープンになります。
ありがとう。
c# - QuickFix エンジンのアクセプターとイニシエーター
私は、クイックフィックスのイニシエータとアクセプタを互いに接続させ、ハートビートを送信しようとしています。しかし、私が何をしようとしても、まったく機能しないようです。私は利用可能なすべてのドキュメントを読みましたが、それほど多くはなく、実際の例はほとんどありません。エンジンに付属のエグゼキューターを実行しようとしましたが、うまく動作しません。したがって、誰かがこれに関する情報、本、またはサンプルコードを手伝ってくれるなら、それは素晴らしいことです. 事前にご協力いただきありがとうございます。