问题标签 [quickfixn]
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/n 网络相关问题
我的修复引擎有一个问题,我无法深入了解。我运行了以下测试:我向修复服务器发送了多个请求(例如,新订单单),假设一次 20 个。然后,当我收到返回的执行报告时,Quickfix 引擎需要很长时间来处理它们,它处理的时间比暂停/停止 150 毫秒左右并继续(因此每条消息大约需要 1 毫秒,但暂停时间很长)。我使用数据包嗅探器检查网络流,它显示没有这样的延迟,所有消息都在 2-3 毫秒内到达。我删除了所有逻辑,并将会话设置设置为最低限度,以避免任何额外的工作和内存分配。我多次运行此测试,每次都显示相同的结果。
我使用引擎日志文件时间戳来读取消息时间。
这是 .cfg 文件
这是我的FromApp:
还有我的 ExecutionReport 处理程序
我从我的应用程序中删除了所有逻辑以避免不必要的噪音。
示例日志输出:
有任何想法吗?这是正常行为吗?您会在哪里寻找解决方案?
对那里发生的事情有任何想法吗?
quickfix - 重新发送请求应如何处理旧订单
有时我的 quickfixN 引擎会失去与交换机的连接,当它重新连接时,交换机会意识到缺少消息并要求重新发送。然后我的引擎发送消息。
然而,订单通常是旧的,而且我通常会随后发送一个 orderCancellation 请求。然而,当交易所在重新发送消息时按顺序执行消息时,订单很有可能会被执行。
处理这个问题的正确方法是什么?即,我怎样才能告诉交易所不要执行这些订单,或者,我怎样才能阻止 quickfixN 重新发送旧订单?
c# - qucikfix中注销后如何登录会话包含多个会话?
下面附上配置文件
注销我正在发送的一个会话
QuickFix.Session.LookupSession(priceSessionID).Logout();
我收到了特定会话的注销。我的问题是,如何在不注销另一个会话的情况下登录到同一个会话?并且不停止发起者。
quickfix - 位置报告中的错误 (FIX 4.4):组 702 的第一个条目不以分隔符 704 开头
我是 FIX 协议的新手,我正在使用 QuickFIX 来解析我的 FIX 消息。每当我收到位置报告消息 ( AP
) 时,它都会被 FIX 引擎拒绝,并出现以下错误:
组 702 的第一个条目不以分隔符 704 开头
这702
是一个组标签。我做了一些研究,发现重复的组消息使用它的第一个字段作为分隔符。在我的案例中,组702
应该有标签704
(LongQty)或705
(ShortQty)。只有一个标签会出现。
我的交易对手没有发送703
标签。704
当 FIX 引擎在某些情况下发现没有标签时,它会拒绝该消息。请让我知道你的建议来解决这个问题。
c# - SeqReset 后注销不起作用
使用 C# 和 QuickFix/N
我正在尝试从发起程序中干净地注销。
如果我以前干净地注销 - 我的意思是我发送和接收了 35=5 条消息。然后注销工作。
但是,如果我只是切断连接并在登录时收到 35=4 条要求重置的消息,那么当我尝试注销时,我在日志中看不到我自己的 35=5。
为什么?
有一次我在注销时也收到了这条消息:
System.ObjectDisposedException 未处理 HResult=-2146232798
消息=无法访问已处置的对象。对象名称:“文件日志”。
Source=QuickFix ObjectName=FileLog StackTrace: QuickFix.FileLog.DisposedCheck() at QuickFix.FileLog.OnEvent(String s) at QuickFix.Session.Disconnect(String reason) at QuickFix.SocketInitiatorThread.Read() at QuickFix.Transport.SocketInitiator .SocketInitiatorThreadStart(Object socketInitiatorThread) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在系统.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading.ThreadHelper。ThreadStart(Object obj) 内部异常:
编辑
我找到了一个解决方案,即在调用 Stop 之前注销每个会话。文档中不建议这样做。
我认为 Stop 会隐含地这样做。
c# - 使用快速修复的 WebIce 集成
我是修复协议和快速修复编程的新手。我正在寻求有关从 ICE 获取贸易捕获报告的帮助。我已经搜索了示例/教程以使用快速修复/n 来获取交易报告,但我无法获得足够的输出。我的问题是为此我尝试使用 TradeCaptureReportRequest、TradeCaptureReportRequestAck、TradeCaptureReport 类获取贸易捕获报告或交易信息,但不知何故它现在正在工作。一个简单的如何提取信息将是一个很大的帮助。提前感谢大家。
quickfix - 错误:标签出现多次(字段=9215)
ICE 刚刚更新了他们的服务,现在我无法连接到它,我收到以下错误消息:
8=FIX.4.49=11335=334=1149=27350=152=20161116-16:15:19.92056=ICE45=1058=标签出现多次371=9215372=d373=1310=223
我正在使用 QuickFixn V1.3 并且我已经设置:ValidateFieldsOutOfOrder=N ValidateUserDefinedFields=N
我也已经将它添加到我的数据字典中:
< field number="9215" name="MiFIDRegulatedMarket" type="STRING"/> < field number="9216" name="AONAllowed" type="STRING"/>
不幸的是,ICE 上周刚刚发布了新版本,在此之前它运行良好,那么,过去 3 天有人遇到过这个问题吗?有什么办法解决吗?
quickfix - 为什么我的 FIX 会话开始和结束 UTC 设置为本地?
我正在使用 quickfix .net 引擎。
我在纽约服务器上运行它,桌面上的时钟显示纽约当地时间。
但是,FIX 会话在 UTC 时间开始和结束。我对修复配置的理解是时间总是本地的。
为什么会发生这种情况?
quickfix - 注销时未触发 Quickfixn OnLogout
我在 quickfixn github 页面上的 Tradeclient 示例上编写了一个交易应用程序。它现在被大量修改,但关于登录和注销它没有改变。我现在遇到的问题是,当按下注销按钮时,它会调用 Initiator.Stop,但它并没有像预期的那样进入 OnLogout。登录时一切正常,initiator.start,然后是 OnCreate,然后是 OnLogon,但在注销时,不会触发 OnLogout。任何想法可能是什么问题?