I'm trying to send QuoteRequest to get quote before deciding to whether to place an order, but the Fix server is unhappy. It seems to me that I follow the documentation here and here, but obviously I'm missing something obvious.
Although, I send same message to two identical installations if FIXimulate (Windows and Mac) and receive two different resonses.
here is config.ini
# default settings for sessions
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=60
SenderCompID=BANZAI
[SESSION]
BeginString=FIX.4.2
TargetCompID=FIXIMULATOR
StartTime=00:00:00
EndTime=00:00:00
# overide default setting for RecconnectInterval
ReconnectInterval=30
HeartBtInt=30
SocketConnectPort=9878
# SocketConnectHost=127.0.0.1
SocketConnectHost=192.168.1.67
DataDictionary=FIX42.xml
FileStorePath=.
Message I send:
8=FIX.4.2|9=90|35=R|34=2|49=BANZAI|52=20170322-11:48:49.000|56=FIXIMULATOR|131=0004|146=1|55=AMZN|38=100|10=180
using updated code to avoid fiddling manually with Header:
def sendQuoteRequest(self):
message = quickfix.Message()
message.getHeader().setField(quickfix.BeginString(quickfix.BeginString_FIX42))
message.getHeader().setField(quickfix.MsgType(quickfix.MsgType_QuoteRequest))
message.setField(quickfix.QuoteReqID("0004")) # 131
group = quickfix43.QuoteRequest().NoRelatedSym()
group.setField(quickfix.Symbol('AMZN'))
group.setField(quickfix.OrderQty(100))
message.addGroup(group)
print "QuoteRequest: " + str(message)
quickfix.Session.sendToTarget(message, self.sessionID)
But still I have the same error back 58=Unsupported Message Type|372=R|380=3:
8=FIX.4.2|9=105|35=j|34=2|49=FIXIMULATOR|52=20170322-11:48:49.689|56=BANZAI|45=2|58=Unsupported Message Type|372=R|380=3|10=099
I'm totaly confused and would really appriciate help!