我是 Quickfix Python 的新用户。我想发送报价请求。我创建新报价请求消息的功能如下:
import quickfix as fix
def create_quote_request():
message = fix.Message()
header = message.getHeader()
header.setField(fix.MsgType(fix.MsgType_QuoteRequest))
gp = fix.Group()
gp.setField(fix.Symbol("GBPUSD"))
gp.setField(fix.Side(fix.Side_BUY))
gp.setField(fix.Account("TestAcc"))
gp.setField(fix.Currency("GBP"))
message.addGroup(gp)
fix.Session.sendToTarget(message, self.sessionID)
当我执行代码时,出现如下错误:
NotImplementedError:重载函数“new_group”的参数数量错误。
可能的 C/C++ 原型有:
修复::组::组(int, int)
FIX::Group::Group(int, int, int const[])
FIX::Group::Group(int, int, message_order const &)
FIX::组::组(FIX::组 const &)
我确实阅读了文档,发现 Group 对象需要参数
Group(int field, int delim)
不确定要传递字段和分隔符的值。感谢您的回复和帮助。
不确定我是否准时提供帮助。但我会尝试。我认为@JimmyNJ 正在给你正确的答案。
根据官方文档,您可以轻松做到这一点,但您不必使用通用组,您必须使用适合您的消息类型的特定组。
据我所知,你应该编写这样的程序。
from quickfix44 import QuoteRequest
import quickfix as fix
message = QuoteRequest()
group = QuoteRequest.NoRelatedSym()
group.setField(fix.Symbol("GBPUSD"))
group.setField(fix.Side(fix.Side_BUY))
group.setField(fix.Account("TestAcc"))
group.setField(fix.Currency("GBP"))
message.addGroup(group)
我假设您想根据标签编号将这 4 个标签添加到 NoRelatedSym 组中。我也用过FIX 44版本,也许你用的是不同的版本,但主要思想是一样的。
我想在树莓派Python上安装quickfix,但由于很多抛出异常,我无法安装它。有人安装了吗??? 请让我知道你的步骤! 谢谢,库纳尔。