Pergunta

Eu tenho um arquivo de texto com CORREÇÃO de mensagens (todos eles e MarketDataIncrementalRefresh (Tipo X)) e eu estou tentando encontrar uma maneira de utilizar QuickFIX em C# para criar MarketDataIncrementalRefresh mensagens fora das cadeias.

Alguma sugestão?

aqui está um exemplo de como uma linha parecida com:

1128=9 9=263 35=X 49=CME 34=10568699 52=20110110205433535 75=20110110 268=2 279=1 22=8 48=812201 83=1243518 107=GEZ2 269=1 270=9825.0 271=153 273=205433000 336=2 346=14 1023=1 279=122=8 48=812201 83=1243519 107=GEZ2 269=1270=9826.0 271=453 273=205433000 336=2 346=21 1023=3 10=058

Foi útil?

Solução

Basicamente, esta é a forma como o seu feito:

string line = sr.ReadLine();
QuickFix42.MessageFactory fac = new QuickFix42.MessageFactory();
QuickFix.MsgType msgType = QuickFix.Message.identifyType(line);
QuickFix.Message message = fac.create("", msgType.getObject() as string);
message.setString(line, false);

A fábrica cria o bom tipo de mensagem, uma vez que sua determinado, então, nesse caso, uma vez que o tipo era um {X}, QuickFix.Mensagem mensagem é um ponteiro para MarketDataIncrementalRefresh e, em seguida, mensagem.setString define o resto da adereços a partir de dado string.

Outras dicas

em Java você pode usar qualquer um

MessageUtils.parse(MessageFactory messageFactory, DataDictionary dataDictionary, java.lang.String messageString)

consulte aqui.

o objecto de Mensagem em si, veja aqui usando o construtor:

Message(java.lang.String string, DataDictionary dd, boolean validate) 

ou o fromString método:

fromString(java.lang.String messageData, DataDictionary sessionDictionary, DataDictionary applicationDictionary, boolean doValidation) 

Você deve ser capaz de encontrar coisas semelhantes para quickfix/n

Só eu que achei este, que apenas permite a você criar uma mensagem a partir da cadeia de caracteres usando o construtor.Nunca a menos, isso deve funcionar se você não encontrar o equivalente a acima em sua API.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top