繁体   English   中英

如何在Python中发送编码的quickfix消息?

How can I send an encoded quickfix message in Python?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想发送以EUC-KR编码的消息。

因此,我尝试使用下面的示例/示例发送消息,但最终出现错误。

https://github.com/fvmt/quickfix-python-sample

def put_order(self):print(“创建以下订单:”)

trade = fix.Message() 
trade.getHeader().setField(fix.BeginString(fix.BeginString_FIX42)) # 
trade.getHeader().setField(fix.MsgType(fix.MsgType_NewOrderSingle)) #39=D 
trade.setField(fix.ClOrdID(self.genExecID())) #11=Unique order 

test_msg = '한글테스트' 

trade.getHeader().setField(fix.MessageEncoding('EUC-KR'))  # MessageEncoding
trade.setField(fix.EncodedTextLen(len(test_msg.encode('euc-kr'))))
trade.setField(fix.EncodedText(test_msg.encode('euc-kr')))

trade.setField(fix.HandlInst(fix.HandlInst_MANUAL_ORDER_BEST_EXECUTION)) #21=3 (Manual order, best executiona)
trade.setField(fix.Symbol('SMBL')) #55=SMBL ?
trade.setField(fix.Side(fix.Side_BUY)) #43=1 Buy
trade.setField(fix.OrdType(fix.OrdType_LIMIT)) #40=2 Limit order
trade.setField(fix.OrderQty(100)) #38=100
trade.setField(fix.Price(10))
trade.setField(fix.TransactTime(int(datetime.utcnow().strftime("%s")))) 

print (trade.toString() )
fix.Session.sendToTarget(trade, self.sessionID) 

我收到以下错误消息

Your Input : Successful Logon to session 'FIX.4.3:CLIENT1->EXECUTOR'.
1
Putin Order
Creating the following order:
Traceback (most recent call last):
File "client.py", line 903, in <module>
args = parser.parse_args()
File "client.py", line 880, in main
print ("Putin Order")
File "client.py", line 142, in put_order
trade.setField(fix.EncodedTextLen(len(test_msg.encode('euc-kr'))))
File "C:\ProgramData\Anaconda3\lib\site-packages\quickfix.py", line 40319, in __init__
quickfix.StringField.__init__(self, 355, data)
File "C:\ProgramData\Anaconda3\lib\site-packages\quickfix.py", line 910, in __init__
this = _quickfix.new_StringField(*args)
NotImplementedError: Wrong number or type of arguments for overloaded function 'new_StringField'.
Possible C/C++ prototypes are:
FIX::StringField::StringField(int,std::string const &)
FIX::StringField::StringField(int)

我怎么解决这个问题?

问题暂未有回复.您可以查看右边的相关问题.
1 在QuickFIX中发送消息

我正在使用“ http://www.quickfixengine.org”中的python代码示例,但有一个问题。 我使用下面显示的代码段创建我的应用程序 建立连接并登录后,现在我想发送一条消息(例如订单)。 为此提供的代码段是: 我的问题是关于那个Session对象的。 ...

2012-11-16 22:13:04 1 2267   quickfix
2 如何在quickfix上发送和接收消息?

我创建了两个类:发起者和接受者。 我想将消息从发起者发送到接受者,然后处理收到的消息。 我无法发送消息。 这是我的启动器.java 这是应用程序接口的overRide消息。 这是启动器initiator.cfg文件 Acceptor.java accep ...

4 如何在没有base64编码的sqs中发送普通消息

我想在sqs队列中发送一条简单的消息,但是kombu正在添加一些额外的信息。 我想发送: 当我在队列中发送带有kombu的消息时,我看到以下消息(base64编码): 有没有办法在kombu中发送普通消息而不添加额外的编码并包装到对象中。 我使用的代码如下: ...

5 电报发送; 如何在组中发送消息(python)

嗨,我想在电报组中转发推文,但我找不到/不明白如何让我的机器人在组中发送消息,即使我认为我按照说明这样做(添加bot 到组并复制/粘贴 /XXXX@xxxxx 命令,但它不起作用。(我管理机器人向我发送 DM,但我真的很想改为发送一个组)。我正在使用电报发送。 谢谢 ...

8 如何在 python 中使用 selenium 在 instagram 中发送直接消息?

嗨,我是一个新手,我想尝试使用 selenium 制作一个 instagram 机器人来向我的朋友发送生日消息,当我了解到要在 chrome 中发送 dms 时,您必须检查页面并单击移动选项然后选择一个移动设备来查看它然后重新加载页面; 所有这些我都不知道该怎么做。 我已经搜索了一个答案,但没有找到 ...

9 如何在python中发送http响应消息代码:400

我已经用python编写了一个Web服务器,我想发送HTTP响应消息代码:400,而不是响应“ Website Coming Soon!”。 在任何客户要求下,请告诉我该怎么做。 服务器代码为: ...

2015-06-01 21:09:33 1 1399   python
10 如何在Android中发送消息?

目前,我正在使用Android的消息撰写屏幕,使用Intent显示消息撰写屏幕,然后输入电话号码和消息。 我已经为send按钮设置了sendSMS方法,但是当我按下send按钮时,它没有调用sendSMS方法。 如何在“消息撰写”屏幕中设置发送按钮的方法? 请帮我。 可以设置发送 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM