[英]Quickfix Field Tag is Invalid: 54
Hello I am trying to use Quickfix with FIX 4.4 using a Python Wrapper for a personal resume builder. 您好,我正在尝试将FIX 4.4与Quickfix结合使用,并将Python包装程序用于个人简历生成器。 I have googled to all over for help with this but haven't found anything to figure this out.
我已经四处搜寻,以寻求帮助,但是还没有找到任何解决办法。
So in Quickfix's Data Dictionary here: 因此,在Quickfix的数据字典中:
field number='54' name='Side' type='CHAR'
It is telling us that this tag must be a CHAR. 告诉我们该标签必须是CHAR。
However in our method to send an order looks like this: 但是,在我们的发送订单的方法中,如下所示:
def sendOrder(self, tradeSide):
print("Creating the following order: ")
cTime = datetime.utcnow()
qOrder = fix.Message()
print(qOrder)
qOrder.getHeader().setField( fix.BeginString("FIX.4.4") )
print(qOrder)
qOrder.getHeader().setField(35, "D" )
print(qOrder)
qOrder.getHeader().setField(49, "Place_To_Go")
print(qOrder)
qOrder.getHeader().setField(56, "Place_To_Trade")
print(qOrder)
qOrder.getHeader().setField(43,"Y")
print(qOrder)
qOrder.getHeader().setField(52, str(cTime))
print(qOrder)
qOrder.setField(40, chr(1) )
print(qOrder)
qOrder.setField(11, str(self.genOrderID()))
print(qOrder)
qOrder.setField(311, "EUR")
print(qOrder)
qOrder.setField(309, "EUR/USD.E.FX")
print(qOrder)
qOrder.setField(305, "111")
print(qOrder)
qOrder.setField(54, chr(1))
print(qOrder)
qOrder.setField(60, str(cTime))
print(qOrder)
qOrder.setField(38, "1" )
print(qOrder)
qOrder.setField(59, "1" )
print("Order:" + str(qOrder))
print("ayyy")
fix.Session_sendToTarget(qOrder)
You can see in this line: qOrder.setField(54, chr(1)) 您可以在此行中看到:qOrder.setField(54,chr(1))
That we are trying to force it to become a char however when we send the message to the server we still recieve: 我们试图强迫它成为一个字符,但是当我们将消息发送到服务器时,我们仍然可以接收到:
(Invalid message: Field tag is invalid: 54)
In a tester online our FIX message appears to be valid on this website: 在在线测试人员中,我们的FIX消息在此网站上似乎有效:
http://fixparser.targetcompid.com?sharedlink=-LF0tkvCToW5RzneNJg2 http://fixparser.targetcompid.com?sharedlink=-LF0tkvCToW5RzneNJg2
Input this key: 输入此密钥:
jaiPj3brnf7tlgy5X28BgqwCwxpIq7H%BH6b81joE!rUzWof9hQvvby3
Does anyone have any experience in why it is still blatantly rejecting our message? 有谁在为何仍然公然拒绝我们的信息方面有任何经验?
Thank you for reading. 感谢您的阅读。
If CHAR(1)
is actually ASCII code 1, this is the SOH
character (Start Of Heading). 如果
CHAR(1)
实际上是ASCII代码1,则这是SOH
字符(标题开始)。 That is not a valid value for tag 54. You want the character 1
, not SOH. 这不是标签54的有效值。您需要字符
1
而不是SOH。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.