简体   繁体   English

通过 FIX API 发送市价单时服务器无响应

[英]Getting no response from the server when sending market orders via the FIX API

I am trying to send a purchase order, but I am not receiving a response from the server.我正在尝试发送采购订单,但我没有收到来自服务器的响应。 The session is correct, and I am connected to port 5202. The python code is: session 是正确的,我连接到端口 5202。 python 代码是:

      mdr = fix.Message()

      mdr.getHeader().setField(fix.BeginString(fix.BeginString_FIX44))
      mdr.getHeader().setField(fix.MsgType(fix.MsgType_NewOrderSingle))
      mdr.getHeader().setField(fix.TargetSubID('TRADE'))
      mdr.getHeader().setField(fix.SenderSubID('TRADE'))
      mdr.setField(fix.ClOrdID(str(str(self.genExecID())))
      mdr.setField(fix.HandlInst('1')))
      mdr.setField(fix.Side('1'))
      mdr.setField(fix.Symbol('1'))
      mdr.setField(fix.OrderQty(0.01))
      mdr.setField(fix.Currency('EUR'))
      mdr.setField(fix.TimeInForce('1'))
      mdr.setField(fix.OrdType('1'))
      trstime = fix.TransactTime()
      trstime.setString(datetime.utcnow().strftime('%Y%m%d-%H:%M:%S.%f')[:-3])
      mdr.setField(trstime)
      fix.Session.sendToTarget(mdr, self.sessionID)

And the message it generates is:它生成的消息是:

8=FIX.4.4☺9=158☺35=D☺34=2☺49=demo.ctrader.3449248☺50=TRADE☺52=20220310-10:37:36.000☺56=CSERVER☺57=TRADE☺11=1☺15=EUR☺21=1☺38=0.01☺40=1☺54=1☺55=1☺59=1☺60=20220310-10:37:36.898☺10=130☺

Does anyone miss any fields or see any errors in the message.是否有人错过任何字段或在消息中看到任何错误。 Thank you very much.非常感谢。

This might be a bit late...but I had a similar issue and changed my fix message to the following:这可能有点晚了......但我遇到了类似的问题并将我的修复消息更改为以下内容:

  1. Tag 50 (sendersubid) - Should be a random string of characters for that particular session you are logging in with and should be changed with every new login.标签 50 (sendersubid) - 应该是您登录时使用的特定 session 的随机字符串,并且应该在每次新登录时更改。 If you log in multiple times with the same sendersubid, I think the server rejects.如果您使用相同的 sendersubid 多次登录,我认为服务器会拒绝。

  2. Tag 38 (lot size) - you used "0.01".标签 38(手数) - 您使用了“0.01”。 Try instead "1000"尝试改为“1000”

  3. "CSERVER" should be "cServer" “CSERVER”应该是“cServer”

hope it helps希望能帮助到你

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

相关问题 从shopify API获取详细信息并关闭订单 - getting details and closing orders from shopify API 我应该如何修复发送 POST 请求时收到的错误请求响应? - How should I fix the bad request response I am getting when sending a POST request? 从服务器获取数据时如何修复python中的unicode错误 - How fix unicode error in python when getting data from server Python Post Request - 通过Outlook API发送文件时出现415错误 - Python Post Request - Getting 415 Error When Sending Files via Outlook API 通过套接字将图像从客户端发送到服务器 - Sending an image from client to server via sockets 通过Python API获取所有Woocommerce订单 - Obtain all Woocommerce Orders via Python API 通过 API 调用发送大字典会中断开发服务器 - Sending large dictionary via API call breaks development server Web服务器未发送响应 - Web server not sending response 为什么通过python请求调用rest api时出现500 Internal Server Error? - Why am I getting 500 Internal Server Error when calling post rest api via python request? 尝试通过FTP在客户端中将字符串从客户端发送到服务器时传递'b' - 'b' is getting passed when sending string from client to server in python while trying FTP implementation
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM