|
From: Fuadazhar73 <fua...@gm...> - 2020-04-01 10:47:06
|
First i have problem with my fix about
Out of order repeating group members
and for the solution i want to try add in my initiator config
ValidateUserDefinedFields=N
ValidateIncomingMessage=N
ValidateUnorderedGroupFields=N
but when i want to hit my broker for market data request i got this error
quickfix.FieldNotFound: Field was not found in message, field=55
at quickfix.FieldMap.getField(FieldMap.java:223)
at quickfix.FieldMap.getString(FieldMap.java:237)
at
com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38)
at quickfix.Session.fromCallback(Session.java:1847)
at quickfix.Session.verify(Session.java:1791)
at quickfix.Session.verify(Session.java:1862)
at quickfix.Session.next(Session.java:1047)
at quickfix.Session.next(Session.java:1204)
at
quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163)
at
quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113)
at
quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145)
at
quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267)
at java.lang.Thread.run(Thread.java:748)
i use this code for make marketdatarequest
quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new
quickfix.fix42.MarketDataRequest.NoRelatedSym();
group1.set(new Symbol("ALL"));
marketDataRequest.addGroup(group1);
Session.sendToTarget(marketDataRequest, sessionID);
so how to fix my problem ? and the next question is how to get value from
field like symbol, avgprice,etc
i have code like this
MDReqID mdreqid = new MDReqID();
SendingTime sendingtime = new SendingTime();
NoMDEntries nomdentries = new NoMDEntries();
quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries group
= new
quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries();
MDUpdateAction mdupdateaction = new MDUpdateAction();
DeleteReason deletereason = new DeleteReason();
MDEntryType mdentrytype = new MDEntryType();
MDEntryID mdentryid = new MDEntryID();
Symbol symbol = new Symbol();
MDEntryOriginator mdentryoriginator = new
MDEntryOriginator();
MDEntryPx mdentrypx = new MDEntryPx();
Currency currency = new Currency();
MDEntrySize mdentrysize = new MDEntrySize();
ExpireDate expiredate = new ExpireDate();
ExpireTime expiretime = new ExpireTime();
NumberOfOrders numberoforders = new NumberOfOrders();
MDEntryPositionNo mdentrypositionno = new
MDEntryPositionNo();
message.getField(nomdentries);
message.getField(sendingtime);
message.getGroup(1, group);
int list = nomdentries.getValue();
for (int i = 0; i < list; i++)
{
message.getGroup(i + 1, group);
group.get(mdupdateaction);
if (mdupdateaction.getValue() == '2')
System.out.println("Enter");
group.get(deletereason);
group.get(mdentrytype);
group.get(mdentryid);
group.get(symbol);
group.get(mdentryoriginator);
if (mdupdateaction.getValue() == '0')
group.get(mdentrypx);
group.get(currency);
if (mdupdateaction.getValue() == '0')
group.get(mdentrysize);
}
System.out.printf("Got Symbol {0} Price {1}",
symbol.getValue(), mdentrypx.getValue());
best regards,
Fuad
--
Sent from: http://quickfix-j.364392.n2.nabble.com/
|
|
From: Fuad A. <fua...@gm...> - 2020-04-01 12:30:12
|
and i also have to try using this code
String symbol = message.getString(Symbol.FIELD);
System.out.println(" FromApp " + message);
String sendingtime = message.getString(SendingTime.FIELD);
// String seqNo = message.getString(MsgSeqNum.FIELD);
double bid = message.getDouble(MDEntryPx.FIELD);
double ask = message.getDouble(MDEntryPx.FIELD);
System.out.println(" Symbol " + symbol + " sendingtime "
+sendingtime);
Pada tanggal Rab, 1 Apr 2020 pukul 17.49 Fuadazhar73 <fua...@gm...>
menulis:
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support:
> http://www.quickfixj.org/support/
>
>
> First i have problem with my fix about
>
> Out of order repeating group members
> and for the solution i want to try add in my initiator config
> ValidateUserDefinedFields=N
> ValidateIncomingMessage=N
> ValidateUnorderedGroupFields=N
>
> but when i want to hit my broker for market data request i got this error
>
> quickfix.FieldNotFound: Field was not found in message, field=55
> at quickfix.FieldMap.getField(FieldMap.java:223)
> at quickfix.FieldMap.getString(FieldMap.java:237)
> at
>
> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38)
> at quickfix.Session.fromCallback(Session.java:1847)
> at quickfix.Session.verify(Session.java:1791)
> at quickfix.Session.verify(Session.java:1862)
> at quickfix.Session.next(Session.java:1047)
> at quickfix.Session.next(Session.java:1204)
> at
>
> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163)
> at
>
> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113)
> at
>
> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145)
> at
>
> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267)
> at java.lang.Thread.run(Thread.java:748)
>
> i use this code for make marketdatarequest
> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new
> quickfix.fix42.MarketDataRequest.NoRelatedSym();
> group1.set(new Symbol("ALL"));
> marketDataRequest.addGroup(group1);
> Session.sendToTarget(marketDataRequest, sessionID);
>
> so how to fix my problem ? and the next question is how to get value from
> field like symbol, avgprice,etc
> i have code like this
>
> MDReqID mdreqid = new MDReqID();
> SendingTime sendingtime = new SendingTime();
> NoMDEntries nomdentries = new NoMDEntries();
> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries
> group
> = new
> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries();
> MDUpdateAction mdupdateaction = new MDUpdateAction();
> DeleteReason deletereason = new DeleteReason();
> MDEntryType mdentrytype = new MDEntryType();
> MDEntryID mdentryid = new MDEntryID();
> Symbol symbol = new Symbol();
> MDEntryOriginator mdentryoriginator = new
> MDEntryOriginator();
> MDEntryPx mdentrypx = new MDEntryPx();
> Currency currency = new Currency();
> MDEntrySize mdentrysize = new MDEntrySize();
> ExpireDate expiredate = new ExpireDate();
> ExpireTime expiretime = new ExpireTime();
> NumberOfOrders numberoforders = new NumberOfOrders();
> MDEntryPositionNo mdentrypositionno = new
> MDEntryPositionNo();
>
> message.getField(nomdentries);
> message.getField(sendingtime);
>
> message.getGroup(1, group);
>
> int list = nomdentries.getValue();
> for (int i = 0; i < list; i++)
> {
> message.getGroup(i + 1, group);
> group.get(mdupdateaction);
> if (mdupdateaction.getValue() == '2')
> System.out.println("Enter");
> group.get(deletereason);
> group.get(mdentrytype);
> group.get(mdentryid);
> group.get(symbol);
> group.get(mdentryoriginator);
> if (mdupdateaction.getValue() == '0')
> group.get(mdentrypx);
> group.get(currency);
> if (mdupdateaction.getValue() == '0')
> group.get(mdentrysize);
> }
>
> System.out.printf("Got Symbol {0} Price {1}",
> symbol.getValue(), mdentrypx.getValue());
>
>
> best regards,
>
> Fuad
>
>
>
>
> --
> Sent from: http://quickfix-j.364392.n2.nabble.com/
>
>
> _______________________________________________
> Quickfixj-users mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
|
|
From: Grant B. <gbi...@co...> - 2020-04-01 13:37:50
|
None of these configs will solve your problem. They might even make your problem harder to find and fix. Delete them. ValidateUserDefinedFields=N ValidateIncomingMessage=N ValidateUnorderedGroupFields=N Your FieldNotFound error has nothing to do with how you are constructing messages. This is an error that occurs when you are *receiving* messages that were sent by your counterparty. FieldNotFound means you are trying to read a field that isn't there (or maybe it's in a group but you are attempting to read it from the top-level body). Did you look at TestMarketdataRequest.java line 38? On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > First i have problem with my fix about > > Out of order repeating group members > and for the solution i want to try add in my initiator config > ValidateUserDefinedFields=N > ValidateIncomingMessage=N > ValidateUnorderedGroupFields=N > > but when i want to hit my broker for market data request i got this error > > quickfix.FieldNotFound: Field was not found in message, field=55 > at quickfix.FieldMap.getField(FieldMap.java:223) > at quickfix.FieldMap.getString(FieldMap.java:237) > at > > com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) > at quickfix.Session.fromCallback(Session.java:1847) > at quickfix.Session.verify(Session.java:1791) > at quickfix.Session.verify(Session.java:1862) > at quickfix.Session.next(Session.java:1047) > at quickfix.Session.next(Session.java:1204) > at > > quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) > at > > quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) > at > > quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) > at > > quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) > at java.lang.Thread.run(Thread.java:748) > > i use this code for make marketdatarequest > quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new > quickfix.fix42.MarketDataRequest.NoRelatedSym(); > group1.set(new Symbol("ALL")); > marketDataRequest.addGroup(group1); > Session.sendToTarget(marketDataRequest, sessionID); > > so how to fix my problem ? and the next question is how to get value from > field like symbol, avgprice,etc > i have code like this > > MDReqID mdreqid = new MDReqID(); > SendingTime sendingtime = new SendingTime(); > NoMDEntries nomdentries = new NoMDEntries(); > quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries > group > = new > quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); > MDUpdateAction mdupdateaction = new MDUpdateAction(); > DeleteReason deletereason = new DeleteReason(); > MDEntryType mdentrytype = new MDEntryType(); > MDEntryID mdentryid = new MDEntryID(); > Symbol symbol = new Symbol(); > MDEntryOriginator mdentryoriginator = new > MDEntryOriginator(); > MDEntryPx mdentrypx = new MDEntryPx(); > Currency currency = new Currency(); > MDEntrySize mdentrysize = new MDEntrySize(); > ExpireDate expiredate = new ExpireDate(); > ExpireTime expiretime = new ExpireTime(); > NumberOfOrders numberoforders = new NumberOfOrders(); > MDEntryPositionNo mdentrypositionno = new > MDEntryPositionNo(); > > message.getField(nomdentries); > message.getField(sendingtime); > > message.getGroup(1, group); > > int list = nomdentries.getValue(); > for (int i = 0; i < list; i++) > { > message.getGroup(i + 1, group); > group.get(mdupdateaction); > if (mdupdateaction.getValue() == '2') > System.out.println("Enter"); > group.get(deletereason); > group.get(mdentrytype); > group.get(mdentryid); > group.get(symbol); > group.get(mdentryoriginator); > if (mdupdateaction.getValue() == '0') > group.get(mdentrypx); > group.get(currency); > if (mdupdateaction.getValue() == '0') > group.get(mdentrysize); > } > > System.out.printf("Got Symbol {0} Price {1}", > symbol.getValue(), mdentrypx.getValue()); > > > best regards, > > Fuad > > > > > -- > Sent from: http://quickfix-j.364392.n2.nabble.com/ > > > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com -- This email, along with any attachments, is confidential. If you believe you received this message in error, please contact the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC. |
|
From: Grant B. <gbi...@co...> - 2020-04-01 14:17:33
|
I just saw your StackOverflow question where you provided more information. https://stackoverflow.com/q/60969300/650475 FieldNotFound is not your real problem, but a fake problem created by your misguided configuration. You cannot configure your way out of having a bad data dictionary. Please see my StackOverflow answer to your question. On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier <gbi...@co...> wrote: > None of these configs will solve your problem. They might even make your > problem harder to find and fix. Delete them. > > ValidateUserDefinedFields=N > ValidateIncomingMessage=N > ValidateUnorderedGroupFields=N > > > Your FieldNotFound error has nothing to do with how you are constructing > messages. This is an error that occurs when you are *receiving* messages > that were sent by your counterparty. > > FieldNotFound means you are trying to read a field that isn't there (or > maybe it's in a group but you are attempting to read it from the top-level > body). Did you look at TestMarketdataRequest.java line 38? > > On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >> http://www.quickfixj.org/support/ >> >> >> First i have problem with my fix about >> >> Out of order repeating group members >> and for the solution i want to try add in my initiator config >> ValidateUserDefinedFields=N >> ValidateIncomingMessage=N >> ValidateUnorderedGroupFields=N >> >> but when i want to hit my broker for market data request i got this error >> >> quickfix.FieldNotFound: Field was not found in message, field=55 >> at quickfix.FieldMap.getField(FieldMap.java:223) >> at quickfix.FieldMap.getString(FieldMap.java:237) >> at >> >> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >> at quickfix.Session.fromCallback(Session.java:1847) >> at quickfix.Session.verify(Session.java:1791) >> at quickfix.Session.verify(Session.java:1862) >> at quickfix.Session.next(Session.java:1047) >> at quickfix.Session.next(Session.java:1204) >> at >> >> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >> at >> >> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >> at >> >> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >> at >> >> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >> at java.lang.Thread.run(Thread.java:748) >> >> i use this code for make marketdatarequest >> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >> group1.set(new Symbol("ALL")); >> marketDataRequest.addGroup(group1); >> Session.sendToTarget(marketDataRequest, sessionID); >> >> so how to fix my problem ? and the next question is how to get value from >> field like symbol, avgprice,etc >> i have code like this >> >> MDReqID mdreqid = new MDReqID(); >> SendingTime sendingtime = new SendingTime(); >> NoMDEntries nomdentries = new NoMDEntries(); >> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries >> group >> = new >> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >> MDUpdateAction mdupdateaction = new MDUpdateAction(); >> DeleteReason deletereason = new DeleteReason(); >> MDEntryType mdentrytype = new MDEntryType(); >> MDEntryID mdentryid = new MDEntryID(); >> Symbol symbol = new Symbol(); >> MDEntryOriginator mdentryoriginator = new >> MDEntryOriginator(); >> MDEntryPx mdentrypx = new MDEntryPx(); >> Currency currency = new Currency(); >> MDEntrySize mdentrysize = new MDEntrySize(); >> ExpireDate expiredate = new ExpireDate(); >> ExpireTime expiretime = new ExpireTime(); >> NumberOfOrders numberoforders = new NumberOfOrders(); >> MDEntryPositionNo mdentrypositionno = new >> MDEntryPositionNo(); >> >> message.getField(nomdentries); >> message.getField(sendingtime); >> >> message.getGroup(1, group); >> >> int list = nomdentries.getValue(); >> for (int i = 0; i < list; i++) >> { >> message.getGroup(i + 1, group); >> group.get(mdupdateaction); >> if (mdupdateaction.getValue() == '2') >> System.out.println("Enter"); >> group.get(deletereason); >> group.get(mdentrytype); >> group.get(mdentryid); >> group.get(symbol); >> group.get(mdentryoriginator); >> if (mdupdateaction.getValue() == '0') >> group.get(mdentrypx); >> group.get(currency); >> if (mdupdateaction.getValue() == '0') >> group.get(mdentrysize); >> } >> >> System.out.printf("Got Symbol {0} Price {1}", >> symbol.getValue(), mdentrypx.getValue()); >> >> >> best regards, >> >> Fuad >> >> >> >> >> -- >> Sent from: http://quickfix-j.364392.n2.nabble.com/ >> >> >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > > > -- > Grant Birchmeier > *Connamara Systems, LLC* > *Made-To-Measure Trading Solutions.* > Exactly what you need. No more. No less. > http://connamara.com > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com -- This email, along with any attachments, is confidential. If you believe you received this message in error, please contact the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC. |
|
From: Fuad A. <fua...@gm...> - 2020-04-01 14:23:23
|
Yes i create question in here and in stackoverflow...if anyone can help me how to fix it i very appreciate it... Best regards Fuad On Wed, Apr 1, 2020, 21:19 Grant Birchmeier <gbi...@co... wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > I just saw your StackOverflow question where you provided more information. > > https://stackoverflow.com/q/60969300/650475 > > FieldNotFound is not your real problem, but a fake problem created by your > misguided configuration. You cannot configure your way out of having a bad > data dictionary. Please see my StackOverflow answer to your question. > > > On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier <gbi...@co...> > wrote: > >> None of these configs will solve your problem. They might even make your >> problem harder to find and fix. Delete them. >> >> ValidateUserDefinedFields=N >> ValidateIncomingMessage=N >> ValidateUnorderedGroupFields=N >> >> >> Your FieldNotFound error has nothing to do with how you are constructing >> messages. This is an error that occurs when you are *receiving* messages >> that were sent by your counterparty. >> >> FieldNotFound means you are trying to read a field that isn't there (or >> maybe it's in a group but you are attempting to read it from the top-level >> body). Did you look at TestMarketdataRequest.java line 38? >> >> On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> wrote: >> >>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >>> http://www.quickfixj.org/support/ >>> >>> >>> First i have problem with my fix about >>> >>> Out of order repeating group members >>> and for the solution i want to try add in my initiator config >>> ValidateUserDefinedFields=N >>> ValidateIncomingMessage=N >>> ValidateUnorderedGroupFields=N >>> >>> but when i want to hit my broker for market data request i got this error >>> >>> quickfix.FieldNotFound: Field was not found in message, field=55 >>> at quickfix.FieldMap.getField(FieldMap.java:223) >>> at quickfix.FieldMap.getString(FieldMap.java:237) >>> at >>> >>> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >>> at quickfix.Session.fromCallback(Session.java:1847) >>> at quickfix.Session.verify(Session.java:1791) >>> at quickfix.Session.verify(Session.java:1862) >>> at quickfix.Session.next(Session.java:1047) >>> at quickfix.Session.next(Session.java:1204) >>> at >>> >>> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >>> at >>> >>> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >>> at >>> >>> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >>> at >>> >>> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >>> at java.lang.Thread.run(Thread.java:748) >>> >>> i use this code for make marketdatarequest >>> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >>> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >>> group1.set(new Symbol("ALL")); >>> marketDataRequest.addGroup(group1); >>> Session.sendToTarget(marketDataRequest, sessionID); >>> >>> so how to fix my problem ? and the next question is how to get value from >>> field like symbol, avgprice,etc >>> i have code like this >>> >>> MDReqID mdreqid = new MDReqID(); >>> SendingTime sendingtime = new SendingTime(); >>> NoMDEntries nomdentries = new NoMDEntries(); >>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries >>> group >>> = new >>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >>> MDUpdateAction mdupdateaction = new MDUpdateAction(); >>> DeleteReason deletereason = new DeleteReason(); >>> MDEntryType mdentrytype = new MDEntryType(); >>> MDEntryID mdentryid = new MDEntryID(); >>> Symbol symbol = new Symbol(); >>> MDEntryOriginator mdentryoriginator = new >>> MDEntryOriginator(); >>> MDEntryPx mdentrypx = new MDEntryPx(); >>> Currency currency = new Currency(); >>> MDEntrySize mdentrysize = new MDEntrySize(); >>> ExpireDate expiredate = new ExpireDate(); >>> ExpireTime expiretime = new ExpireTime(); >>> NumberOfOrders numberoforders = new NumberOfOrders(); >>> MDEntryPositionNo mdentrypositionno = new >>> MDEntryPositionNo(); >>> >>> message.getField(nomdentries); >>> message.getField(sendingtime); >>> >>> message.getGroup(1, group); >>> >>> int list = nomdentries.getValue(); >>> for (int i = 0; i < list; i++) >>> { >>> message.getGroup(i + 1, group); >>> group.get(mdupdateaction); >>> if (mdupdateaction.getValue() == '2') >>> System.out.println("Enter"); >>> group.get(deletereason); >>> group.get(mdentrytype); >>> group.get(mdentryid); >>> group.get(symbol); >>> group.get(mdentryoriginator); >>> if (mdupdateaction.getValue() == '0') >>> group.get(mdentrypx); >>> group.get(currency); >>> if (mdupdateaction.getValue() == '0') >>> group.get(mdentrysize); >>> } >>> >>> System.out.printf("Got Symbol {0} Price {1}", >>> symbol.getValue(), mdentrypx.getValue()); >>> >>> >>> best regards, >>> >>> Fuad >>> >>> >>> >>> >>> -- >>> Sent from: http://quickfix-j.364392.n2.nabble.com/ >>> >>> >>> _______________________________________________ >>> Quickfixj-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>> >> >> >> -- >> Grant Birchmeier >> *Connamara Systems, LLC* >> *Made-To-Measure Trading Solutions.* >> Exactly what you need. No more. No less. >> http://connamara.com >> > > > -- > Grant Birchmeier > *Connamara Systems, LLC* > *Made-To-Measure Trading Solutions.* > Exactly what you need. No more. No less. > http://connamara.com > > This email, along with any attachments, is confidential. If you believe > you received this message in error, please contact the sender immediately > and delete all copies of the message. Thank you from Connamara Systems, LLC. > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: Grant B. <gbi...@co...> - 2020-04-01 14:32:09
|
Yes, I told you: Go look at my answer to your SO question. On Wed, Apr 1, 2020 at 9:23 AM Fuad Azhar <fua...@gm...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > Yes i create question in here and in stackoverflow...if anyone can help me > how to fix it i very appreciate it... > > Best regards > > Fuad > > On Wed, Apr 1, 2020, 21:19 Grant Birchmeier <gbi...@co... > wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >> http://www.quickfixj.org/support/ >> >> >> I just saw your StackOverflow question where you provided more >> information. >> >> https://stackoverflow.com/q/60969300/650475 >> >> FieldNotFound is not your real problem, but a fake problem created by >> your misguided configuration. You cannot configure your way out of having >> a bad data dictionary. Please see my StackOverflow answer to your question. >> >> >> On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier < >> gbi...@co...> wrote: >> >>> None of these configs will solve your problem. They might even make >>> your problem harder to find and fix. Delete them. >>> >>> ValidateUserDefinedFields=N >>> ValidateIncomingMessage=N >>> ValidateUnorderedGroupFields=N >>> >>> >>> Your FieldNotFound error has nothing to do with how you are constructing >>> messages. This is an error that occurs when you are *receiving* messages >>> that were sent by your counterparty. >>> >>> FieldNotFound means you are trying to read a field that isn't there (or >>> maybe it's in a group but you are attempting to read it from the top-level >>> body). Did you look at TestMarketdataRequest.java line 38? >>> >>> On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> >>> wrote: >>> >>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>> Support: http://www.quickfixj.org/support/ >>>> >>>> >>>> First i have problem with my fix about >>>> >>>> Out of order repeating group members >>>> and for the solution i want to try add in my initiator config >>>> ValidateUserDefinedFields=N >>>> ValidateIncomingMessage=N >>>> ValidateUnorderedGroupFields=N >>>> >>>> but when i want to hit my broker for market data request i got this >>>> error >>>> >>>> quickfix.FieldNotFound: Field was not found in message, field=55 >>>> at quickfix.FieldMap.getField(FieldMap.java:223) >>>> at quickfix.FieldMap.getString(FieldMap.java:237) >>>> at >>>> >>>> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >>>> at quickfix.Session.fromCallback(Session.java:1847) >>>> at quickfix.Session.verify(Session.java:1791) >>>> at quickfix.Session.verify(Session.java:1862) >>>> at quickfix.Session.next(Session.java:1047) >>>> at quickfix.Session.next(Session.java:1204) >>>> at >>>> >>>> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >>>> at >>>> >>>> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >>>> at >>>> >>>> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >>>> at >>>> >>>> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >>>> at java.lang.Thread.run(Thread.java:748) >>>> >>>> i use this code for make marketdatarequest >>>> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >>>> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >>>> group1.set(new Symbol("ALL")); >>>> marketDataRequest.addGroup(group1); >>>> Session.sendToTarget(marketDataRequest, sessionID); >>>> >>>> so how to fix my problem ? and the next question is how to get value >>>> from >>>> field like symbol, avgprice,etc >>>> i have code like this >>>> >>>> MDReqID mdreqid = new MDReqID(); >>>> SendingTime sendingtime = new SendingTime(); >>>> NoMDEntries nomdentries = new NoMDEntries(); >>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries >>>> group >>>> = new >>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >>>> MDUpdateAction mdupdateaction = new MDUpdateAction(); >>>> DeleteReason deletereason = new DeleteReason(); >>>> MDEntryType mdentrytype = new MDEntryType(); >>>> MDEntryID mdentryid = new MDEntryID(); >>>> Symbol symbol = new Symbol(); >>>> MDEntryOriginator mdentryoriginator = new >>>> MDEntryOriginator(); >>>> MDEntryPx mdentrypx = new MDEntryPx(); >>>> Currency currency = new Currency(); >>>> MDEntrySize mdentrysize = new MDEntrySize(); >>>> ExpireDate expiredate = new ExpireDate(); >>>> ExpireTime expiretime = new ExpireTime(); >>>> NumberOfOrders numberoforders = new NumberOfOrders(); >>>> MDEntryPositionNo mdentrypositionno = new >>>> MDEntryPositionNo(); >>>> >>>> message.getField(nomdentries); >>>> message.getField(sendingtime); >>>> >>>> message.getGroup(1, group); >>>> >>>> int list = nomdentries.getValue(); >>>> for (int i = 0; i < list; i++) >>>> { >>>> message.getGroup(i + 1, group); >>>> group.get(mdupdateaction); >>>> if (mdupdateaction.getValue() == '2') >>>> System.out.println("Enter"); >>>> group.get(deletereason); >>>> group.get(mdentrytype); >>>> group.get(mdentryid); >>>> group.get(symbol); >>>> group.get(mdentryoriginator); >>>> if (mdupdateaction.getValue() == '0') >>>> group.get(mdentrypx); >>>> group.get(currency); >>>> if (mdupdateaction.getValue() == '0') >>>> group.get(mdentrysize); >>>> } >>>> >>>> System.out.printf("Got Symbol {0} Price {1}", >>>> symbol.getValue(), mdentrypx.getValue()); >>>> >>>> >>>> best regards, >>>> >>>> Fuad >>>> >>>> >>>> >>>> >>>> -- >>>> Sent from: http://quickfix-j.364392.n2.nabble.com/ >>>> >>>> >>>> _______________________________________________ >>>> Quickfixj-users mailing list >>>> Qui...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>> >>> >>> >>> -- >>> Grant Birchmeier >>> *Connamara Systems, LLC* >>> *Made-To-Measure Trading Solutions.* >>> Exactly what you need. No more. No less. >>> http://connamara.com >>> >> >> >> -- >> Grant Birchmeier >> *Connamara Systems, LLC* >> *Made-To-Measure Trading Solutions.* >> Exactly what you need. No more. No less. >> http://connamara.com >> >> This email, along with any attachments, is confidential. If you believe >> you received this message in error, please contact the sender immediately >> and delete all copies of the message. Thank you from Connamara Systems, LLC. >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com -- This email, along with any attachments, is confidential. If you believe you received this message in error, please contact the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC. |
|
From: Fuad A. <fua...@gm...> - 2020-04-01 14:37:20
|
Oke i will check my fix42.xml and my broker document... So i check marketdataincrementalrefresh in my fix42.xml and my broker right? On Wed, Apr 1, 2020, 21:34 Grant Birchmeier <gbi...@co... wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > Yes, I told you: Go look at my answer to your SO question. > > On Wed, Apr 1, 2020 at 9:23 AM Fuad Azhar <fua...@gm...> wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >> http://www.quickfixj.org/support/ >> >> >> Yes i create question in here and in stackoverflow...if anyone can help >> me how to fix it i very appreciate it... >> >> Best regards >> >> Fuad >> >> On Wed, Apr 1, 2020, 21:19 Grant Birchmeier <gbi...@co... >> wrote: >> >>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >>> http://www.quickfixj.org/support/ >>> >>> >>> I just saw your StackOverflow question where you provided more >>> information. >>> >>> https://stackoverflow.com/q/60969300/650475 >>> >>> FieldNotFound is not your real problem, but a fake problem created by >>> your misguided configuration. You cannot configure your way out of having >>> a bad data dictionary. Please see my StackOverflow answer to your question. >>> >>> >>> On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier < >>> gbi...@co...> wrote: >>> >>>> None of these configs will solve your problem. They might even make >>>> your problem harder to find and fix. Delete them. >>>> >>>> ValidateUserDefinedFields=N >>>> ValidateIncomingMessage=N >>>> ValidateUnorderedGroupFields=N >>>> >>>> >>>> Your FieldNotFound error has nothing to do with how you are >>>> constructing messages. This is an error that occurs when you are >>>> *receiving* messages that were sent by your counterparty. >>>> >>>> FieldNotFound means you are trying to read a field that isn't there (or >>>> maybe it's in a group but you are attempting to read it from the top-level >>>> body). Did you look at TestMarketdataRequest.java line 38? >>>> >>>> On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> >>>> wrote: >>>> >>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>>> Support: http://www.quickfixj.org/support/ >>>>> >>>>> >>>>> First i have problem with my fix about >>>>> >>>>> Out of order repeating group members >>>>> and for the solution i want to try add in my initiator config >>>>> ValidateUserDefinedFields=N >>>>> ValidateIncomingMessage=N >>>>> ValidateUnorderedGroupFields=N >>>>> >>>>> but when i want to hit my broker for market data request i got this >>>>> error >>>>> >>>>> quickfix.FieldNotFound: Field was not found in message, field=55 >>>>> at quickfix.FieldMap.getField(FieldMap.java:223) >>>>> at quickfix.FieldMap.getString(FieldMap.java:237) >>>>> at >>>>> >>>>> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >>>>> at quickfix.Session.fromCallback(Session.java:1847) >>>>> at quickfix.Session.verify(Session.java:1791) >>>>> at quickfix.Session.verify(Session.java:1862) >>>>> at quickfix.Session.next(Session.java:1047) >>>>> at quickfix.Session.next(Session.java:1204) >>>>> at >>>>> >>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >>>>> at >>>>> >>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >>>>> at >>>>> >>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >>>>> at >>>>> >>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> >>>>> i use this code for make marketdatarequest >>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >>>>> group1.set(new Symbol("ALL")); >>>>> marketDataRequest.addGroup(group1); >>>>> Session.sendToTarget(marketDataRequest, sessionID); >>>>> >>>>> so how to fix my problem ? and the next question is how to get value >>>>> from >>>>> field like symbol, avgprice,etc >>>>> i have code like this >>>>> >>>>> MDReqID mdreqid = new MDReqID(); >>>>> SendingTime sendingtime = new SendingTime(); >>>>> NoMDEntries nomdentries = new NoMDEntries(); >>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries >>>>> group >>>>> = new >>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >>>>> MDUpdateAction mdupdateaction = new MDUpdateAction(); >>>>> DeleteReason deletereason = new DeleteReason(); >>>>> MDEntryType mdentrytype = new MDEntryType(); >>>>> MDEntryID mdentryid = new MDEntryID(); >>>>> Symbol symbol = new Symbol(); >>>>> MDEntryOriginator mdentryoriginator = new >>>>> MDEntryOriginator(); >>>>> MDEntryPx mdentrypx = new MDEntryPx(); >>>>> Currency currency = new Currency(); >>>>> MDEntrySize mdentrysize = new MDEntrySize(); >>>>> ExpireDate expiredate = new ExpireDate(); >>>>> ExpireTime expiretime = new ExpireTime(); >>>>> NumberOfOrders numberoforders = new NumberOfOrders(); >>>>> MDEntryPositionNo mdentrypositionno = new >>>>> MDEntryPositionNo(); >>>>> >>>>> message.getField(nomdentries); >>>>> message.getField(sendingtime); >>>>> >>>>> message.getGroup(1, group); >>>>> >>>>> int list = nomdentries.getValue(); >>>>> for (int i = 0; i < list; i++) >>>>> { >>>>> message.getGroup(i + 1, group); >>>>> group.get(mdupdateaction); >>>>> if (mdupdateaction.getValue() == '2') >>>>> System.out.println("Enter"); >>>>> group.get(deletereason); >>>>> group.get(mdentrytype); >>>>> group.get(mdentryid); >>>>> group.get(symbol); >>>>> group.get(mdentryoriginator); >>>>> if (mdupdateaction.getValue() == '0') >>>>> group.get(mdentrypx); >>>>> group.get(currency); >>>>> if (mdupdateaction.getValue() == '0') >>>>> group.get(mdentrysize); >>>>> } >>>>> >>>>> System.out.printf("Got Symbol {0} Price {1}", >>>>> symbol.getValue(), mdentrypx.getValue()); >>>>> >>>>> >>>>> best regards, >>>>> >>>>> Fuad >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Sent from: http://quickfix-j.364392.n2.nabble.com/ >>>>> >>>>> >>>>> _______________________________________________ >>>>> Quickfixj-users mailing list >>>>> Qui...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>>> >>>> >>>> >>>> -- >>>> Grant Birchmeier >>>> *Connamara Systems, LLC* >>>> *Made-To-Measure Trading Solutions.* >>>> Exactly what you need. No more. No less. >>>> http://connamara.com >>>> >>> >>> >>> -- >>> Grant Birchmeier >>> *Connamara Systems, LLC* >>> *Made-To-Measure Trading Solutions.* >>> Exactly what you need. No more. No less. >>> http://connamara.com >>> >>> This email, along with any attachments, is confidential. If you believe >>> you received this message in error, please contact the sender immediately >>> and delete all copies of the message. Thank you from Connamara Systems, LLC. >>> _______________________________________________ >>> Quickfixj-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>> >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > > > -- > Grant Birchmeier > *Connamara Systems, LLC* > *Made-To-Measure Trading Solutions.* > Exactly what you need. No more. No less. > http://connamara.com > > This email, along with any attachments, is confidential. If you believe > you received this message in error, please contact the sender immediately > and delete all copies of the message. Thank you from Connamara Systems, LLC. > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: Grant B. <gbi...@co...> - 2020-04-01 15:18:49
|
Yes. And of course, you'll need to verify every other message too, but not for this immediate problem. On Wed, Apr 1, 2020 at 9:37 AM Fuad Azhar <fua...@gm...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > Oke i will check my fix42.xml and my broker document... So i check > marketdataincrementalrefresh in my fix42.xml and my broker right? > > On Wed, Apr 1, 2020, 21:34 Grant Birchmeier <gbi...@co... > wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >> http://www.quickfixj.org/support/ >> >> >> Yes, I told you: Go look at my answer to your SO question. >> >> On Wed, Apr 1, 2020 at 9:23 AM Fuad Azhar <fua...@gm...> wrote: >> >>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >>> http://www.quickfixj.org/support/ >>> >>> >>> Yes i create question in here and in stackoverflow...if anyone can help >>> me how to fix it i very appreciate it... >>> >>> Best regards >>> >>> Fuad >>> >>> On Wed, Apr 1, 2020, 21:19 Grant Birchmeier <gbi...@co... >>> wrote: >>> >>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>> Support: http://www.quickfixj.org/support/ >>>> >>>> >>>> I just saw your StackOverflow question where you provided more >>>> information. >>>> >>>> https://stackoverflow.com/q/60969300/650475 >>>> >>>> FieldNotFound is not your real problem, but a fake problem created by >>>> your misguided configuration. You cannot configure your way out of having >>>> a bad data dictionary. Please see my StackOverflow answer to your question. >>>> >>>> >>>> On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier < >>>> gbi...@co...> wrote: >>>> >>>>> None of these configs will solve your problem. They might even make >>>>> your problem harder to find and fix. Delete them. >>>>> >>>>> ValidateUserDefinedFields=N >>>>> ValidateIncomingMessage=N >>>>> ValidateUnorderedGroupFields=N >>>>> >>>>> >>>>> Your FieldNotFound error has nothing to do with how you are >>>>> constructing messages. This is an error that occurs when you are >>>>> *receiving* messages that were sent by your counterparty. >>>>> >>>>> FieldNotFound means you are trying to read a field that isn't there >>>>> (or maybe it's in a group but you are attempting to read it from the >>>>> top-level body). Did you look at TestMarketdataRequest.java line 38? >>>>> >>>>> On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> >>>>> wrote: >>>>> >>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>>>> Support: http://www.quickfixj.org/support/ >>>>>> >>>>>> >>>>>> First i have problem with my fix about >>>>>> >>>>>> Out of order repeating group members >>>>>> and for the solution i want to try add in my initiator config >>>>>> ValidateUserDefinedFields=N >>>>>> ValidateIncomingMessage=N >>>>>> ValidateUnorderedGroupFields=N >>>>>> >>>>>> but when i want to hit my broker for market data request i got this >>>>>> error >>>>>> >>>>>> quickfix.FieldNotFound: Field was not found in message, field=55 >>>>>> at quickfix.FieldMap.getField(FieldMap.java:223) >>>>>> at quickfix.FieldMap.getString(FieldMap.java:237) >>>>>> at >>>>>> >>>>>> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >>>>>> at quickfix.Session.fromCallback(Session.java:1847) >>>>>> at quickfix.Session.verify(Session.java:1791) >>>>>> at quickfix.Session.verify(Session.java:1862) >>>>>> at quickfix.Session.next(Session.java:1047) >>>>>> at quickfix.Session.next(Session.java:1204) >>>>>> at >>>>>> >>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >>>>>> at >>>>>> >>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >>>>>> at >>>>>> >>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >>>>>> at >>>>>> >>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>> >>>>>> i use this code for make marketdatarequest >>>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >>>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >>>>>> group1.set(new Symbol("ALL")); >>>>>> marketDataRequest.addGroup(group1); >>>>>> Session.sendToTarget(marketDataRequest, sessionID); >>>>>> >>>>>> so how to fix my problem ? and the next question is how to get value >>>>>> from >>>>>> field like symbol, avgprice,etc >>>>>> i have code like this >>>>>> >>>>>> MDReqID mdreqid = new MDReqID(); >>>>>> SendingTime sendingtime = new SendingTime(); >>>>>> NoMDEntries nomdentries = new NoMDEntries(); >>>>>> >>>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries group >>>>>> = new >>>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >>>>>> MDUpdateAction mdupdateaction = new MDUpdateAction(); >>>>>> DeleteReason deletereason = new DeleteReason(); >>>>>> MDEntryType mdentrytype = new MDEntryType(); >>>>>> MDEntryID mdentryid = new MDEntryID(); >>>>>> Symbol symbol = new Symbol(); >>>>>> MDEntryOriginator mdentryoriginator = new >>>>>> MDEntryOriginator(); >>>>>> MDEntryPx mdentrypx = new MDEntryPx(); >>>>>> Currency currency = new Currency(); >>>>>> MDEntrySize mdentrysize = new MDEntrySize(); >>>>>> ExpireDate expiredate = new ExpireDate(); >>>>>> ExpireTime expiretime = new ExpireTime(); >>>>>> NumberOfOrders numberoforders = new NumberOfOrders(); >>>>>> MDEntryPositionNo mdentrypositionno = new >>>>>> MDEntryPositionNo(); >>>>>> >>>>>> message.getField(nomdentries); >>>>>> message.getField(sendingtime); >>>>>> >>>>>> message.getGroup(1, group); >>>>>> >>>>>> int list = nomdentries.getValue(); >>>>>> for (int i = 0; i < list; i++) >>>>>> { >>>>>> message.getGroup(i + 1, group); >>>>>> group.get(mdupdateaction); >>>>>> if (mdupdateaction.getValue() == '2') >>>>>> System.out.println("Enter"); >>>>>> group.get(deletereason); >>>>>> group.get(mdentrytype); >>>>>> group.get(mdentryid); >>>>>> group.get(symbol); >>>>>> group.get(mdentryoriginator); >>>>>> if (mdupdateaction.getValue() == '0') >>>>>> group.get(mdentrypx); >>>>>> group.get(currency); >>>>>> if (mdupdateaction.getValue() == '0') >>>>>> group.get(mdentrysize); >>>>>> } >>>>>> >>>>>> System.out.printf("Got Symbol {0} Price {1}", >>>>>> symbol.getValue(), mdentrypx.getValue()); >>>>>> >>>>>> >>>>>> best regards, >>>>>> >>>>>> Fuad >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sent from: http://quickfix-j.364392.n2.nabble.com/ >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Quickfixj-users mailing list >>>>>> Qui...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>>>> >>>>> >>>>> >>>>> -- >>>>> Grant Birchmeier >>>>> *Connamara Systems, LLC* >>>>> *Made-To-Measure Trading Solutions.* >>>>> Exactly what you need. No more. No less. >>>>> http://connamara.com >>>>> >>>> >>>> >>>> -- >>>> Grant Birchmeier >>>> *Connamara Systems, LLC* >>>> *Made-To-Measure Trading Solutions.* >>>> Exactly what you need. No more. No less. >>>> http://connamara.com >>>> >>>> This email, along with any attachments, is confidential. If you believe >>>> you received this message in error, please contact the sender immediately >>>> and delete all copies of the message. Thank you from Connamara Systems, LLC. >>>> _______________________________________________ >>>> Quickfixj-users mailing list >>>> Qui...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>> >>> _______________________________________________ >>> Quickfixj-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>> >> >> >> -- >> Grant Birchmeier >> *Connamara Systems, LLC* >> *Made-To-Measure Trading Solutions.* >> Exactly what you need. No more. No less. >> http://connamara.com >> >> This email, along with any attachments, is confidential. If you believe >> you received this message in error, please contact the sender immediately >> and delete all copies of the message. Thank you from Connamara Systems, LLC. >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- Grant Birchmeier *Connamara Systems, LLC* *Made-To-Measure Trading Solutions.* Exactly what you need. No more. No less. http://connamara.com -- This email, along with any attachments, is confidential. If you believe you received this message in error, please contact the sender immediately and delete all copies of the message. Thank you from Connamara Systems, LLC. |
|
From: Fuad A. <fua...@gm...> - 2020-04-01 15:26:40
|
I have check my broker document they send me 35 MsgType Y Defines message Type X 262 MDReqID Y A unique ID of your Market Data Request clientMD_123 268 NoMDEntries Y Number of entries 4 279 MDUpdateAction Y Action type of this entry. Possible values: 0 = New 2 = Delete 0 55 Symbol Y Currency pair in form CCY1/CCY2 EUR/USD 269 MDEntryType Y The type of this entry. Possible values: 0 = Bid 1 = Ask 2 = Last H = Mid Price V = Volatility A = MarketOnClose 1 277 TradeCondition N This will be populated only on trades (Tag 269=2) where a Quote is on one side of the trade. The tag will not be populated when the trade is between orders Values: I = Traded with Last Look I 9700 MatchTime N This will be populated only on trades (Tag 269=2) where Quote is on one side of the trade. UTC time at which the match happened. 20110403- 18:06:23.551 278 MDEntryID Y Identifier of the entry. MDEntryID is unique per symbol. . When an MDEntryID value is repeated, the new value replaces the old value in the order book. E123 270 MDEntryPX N Price of the entry 1.1234 271 MDEntrySize N Size for which that price is quoted. 1000000 110 MinQty N Minimum quantity of an order to be executed. 200000 All of the field are in group if i check in my fix42.xml so if i want get the value i must using repeating group as receive message right? Or what i must to do? On Wed, Apr 1, 2020, 22:21 Grant Birchmeier <gbi...@co... wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: > http://www.quickfixj.org/support/ > > > Yes. > > And of course, you'll need to verify every other message too, but not for > this immediate problem. > > On Wed, Apr 1, 2020 at 9:37 AM Fuad Azhar <fua...@gm...> wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >> http://www.quickfixj.org/support/ >> >> >> Oke i will check my fix42.xml and my broker document... So i check >> marketdataincrementalrefresh in my fix42.xml and my broker right? >> >> On Wed, Apr 1, 2020, 21:34 Grant Birchmeier <gbi...@co... >> wrote: >> >>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> Support: >>> http://www.quickfixj.org/support/ >>> >>> >>> Yes, I told you: Go look at my answer to your SO question. >>> >>> On Wed, Apr 1, 2020 at 9:23 AM Fuad Azhar <fua...@gm...> wrote: >>> >>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>> Support: http://www.quickfixj.org/support/ >>>> >>>> >>>> Yes i create question in here and in stackoverflow...if anyone can help >>>> me how to fix it i very appreciate it... >>>> >>>> Best regards >>>> >>>> Fuad >>>> >>>> On Wed, Apr 1, 2020, 21:19 Grant Birchmeier <gbi...@co... >>>> wrote: >>>> >>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>>> Support: http://www.quickfixj.org/support/ >>>>> >>>>> >>>>> I just saw your StackOverflow question where you provided more >>>>> information. >>>>> >>>>> https://stackoverflow.com/q/60969300/650475 >>>>> >>>>> FieldNotFound is not your real problem, but a fake problem created by >>>>> your misguided configuration. You cannot configure your way out of having >>>>> a bad data dictionary. Please see my StackOverflow answer to your question. >>>>> >>>>> >>>>> On Wed, Apr 1, 2020 at 8:37 AM Grant Birchmeier < >>>>> gbi...@co...> wrote: >>>>> >>>>>> None of these configs will solve your problem. They might even make >>>>>> your problem harder to find and fix. Delete them. >>>>>> >>>>>> ValidateUserDefinedFields=N >>>>>> ValidateIncomingMessage=N >>>>>> ValidateUnorderedGroupFields=N >>>>>> >>>>>> >>>>>> Your FieldNotFound error has nothing to do with how you are >>>>>> constructing messages. This is an error that occurs when you are >>>>>> *receiving* messages that were sent by your counterparty. >>>>>> >>>>>> FieldNotFound means you are trying to read a field that isn't there >>>>>> (or maybe it's in a group but you are attempting to read it from the >>>>>> top-level body). Did you look at TestMarketdataRequest.java line 38? >>>>>> >>>>>> On Wed, Apr 1, 2020 at 5:47 AM Fuadazhar73 <fua...@gm...> >>>>>> wrote: >>>>>> >>>>>>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>>>>>> QuickFIX/J <http://www.quickfixj.org/documentation/QuickFIX/J> >>>>>>> Support: http://www.quickfixj.org/support/ >>>>>>> >>>>>>> >>>>>>> First i have problem with my fix about >>>>>>> >>>>>>> Out of order repeating group members >>>>>>> and for the solution i want to try add in my initiator config >>>>>>> ValidateUserDefinedFields=N >>>>>>> ValidateIncomingMessage=N >>>>>>> ValidateUnorderedGroupFields=N >>>>>>> >>>>>>> but when i want to hit my broker for market data request i got this >>>>>>> error >>>>>>> >>>>>>> quickfix.FieldNotFound: Field was not found in message, field=55 >>>>>>> at quickfix.FieldMap.getField(FieldMap.java:223) >>>>>>> at quickfix.FieldMap.getString(FieldMap.java:237) >>>>>>> at >>>>>>> >>>>>>> com.dxtr.fastmatch.marketdatarequestapps.TestMarketdataRequest.fromApp(TestMarketdataRequest.java:38) >>>>>>> at quickfix.Session.fromCallback(Session.java:1847) >>>>>>> at quickfix.Session.verify(Session.java:1791) >>>>>>> at quickfix.Session.verify(Session.java:1862) >>>>>>> at quickfix.Session.next(Session.java:1047) >>>>>>> at quickfix.Session.next(Session.java:1204) >>>>>>> at >>>>>>> >>>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:163) >>>>>>> at >>>>>>> >>>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:113) >>>>>>> at >>>>>>> >>>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy.lambda$blockInThread$1(SingleThreadedEventHandlingStrategy.java:145) >>>>>>> at >>>>>>> >>>>>>> quickfix.mina.SingleThreadedEventHandlingStrategy$ThreadAdapter$RunnableWrapper.run(SingleThreadedEventHandlingStrategy.java:267) >>>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>>> >>>>>>> i use this code for make marketdatarequest >>>>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym group1 = new >>>>>>> quickfix.fix42.MarketDataRequest.NoRelatedSym(); >>>>>>> group1.set(new Symbol("ALL")); >>>>>>> marketDataRequest.addGroup(group1); >>>>>>> Session.sendToTarget(marketDataRequest, sessionID); >>>>>>> >>>>>>> so how to fix my problem ? and the next question is how to get value >>>>>>> from >>>>>>> field like symbol, avgprice,etc >>>>>>> i have code like this >>>>>>> >>>>>>> MDReqID mdreqid = new MDReqID(); >>>>>>> SendingTime sendingtime = new SendingTime(); >>>>>>> NoMDEntries nomdentries = new NoMDEntries(); >>>>>>> >>>>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries group >>>>>>> = new >>>>>>> quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries(); >>>>>>> MDUpdateAction mdupdateaction = new MDUpdateAction(); >>>>>>> DeleteReason deletereason = new DeleteReason(); >>>>>>> MDEntryType mdentrytype = new MDEntryType(); >>>>>>> MDEntryID mdentryid = new MDEntryID(); >>>>>>> Symbol symbol = new Symbol(); >>>>>>> MDEntryOriginator mdentryoriginator = new >>>>>>> MDEntryOriginator(); >>>>>>> MDEntryPx mdentrypx = new MDEntryPx(); >>>>>>> Currency currency = new Currency(); >>>>>>> MDEntrySize mdentrysize = new MDEntrySize(); >>>>>>> ExpireDate expiredate = new ExpireDate(); >>>>>>> ExpireTime expiretime = new ExpireTime(); >>>>>>> NumberOfOrders numberoforders = new NumberOfOrders(); >>>>>>> MDEntryPositionNo mdentrypositionno = new >>>>>>> MDEntryPositionNo(); >>>>>>> >>>>>>> message.getField(nomdentries); >>>>>>> message.getField(sendingtime); >>>>>>> >>>>>>> message.getGroup(1, group); >>>>>>> >>>>>>> int list = nomdentries.getValue(); >>>>>>> for (int i = 0; i < list; i++) >>>>>>> { >>>>>>> message.getGroup(i + 1, group); >>>>>>> group.get(mdupdateaction); >>>>>>> if (mdupdateaction.getValue() == '2') >>>>>>> System.out.println("Enter"); >>>>>>> group.get(deletereason); >>>>>>> group.get(mdentrytype); >>>>>>> group.get(mdentryid); >>>>>>> group.get(symbol); >>>>>>> group.get(mdentryoriginator); >>>>>>> if (mdupdateaction.getValue() == '0') >>>>>>> group.get(mdentrypx); >>>>>>> group.get(currency); >>>>>>> if (mdupdateaction.getValue() == '0') >>>>>>> group.get(mdentrysize); >>>>>>> } >>>>>>> >>>>>>> System.out.printf("Got Symbol {0} Price {1}", >>>>>>> symbol.getValue(), mdentrypx.getValue()); >>>>>>> >>>>>>> >>>>>>> best regards, >>>>>>> >>>>>>> Fuad >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Sent from: http://quickfix-j.364392.n2.nabble.com/ >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Quickfixj-users mailing list >>>>>>> Qui...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Grant Birchmeier >>>>>> *Connamara Systems, LLC* >>>>>> *Made-To-Measure Trading Solutions.* >>>>>> Exactly what you need. No more. No less. >>>>>> http://connamara.com >>>>>> >>>>> >>>>> >>>>> -- >>>>> Grant Birchmeier >>>>> *Connamara Systems, LLC* >>>>> *Made-To-Measure Trading Solutions.* >>>>> Exactly what you need. No more. No less. >>>>> http://connamara.com >>>>> >>>>> This email, along with any attachments, is confidential. If you >>>>> believe you received this message in error, please contact the sender >>>>> immediately and delete all copies of the message. Thank you from Connamara >>>>> Systems, LLC._______________________________________________ >>>>> Quickfixj-users mailing list >>>>> Qui...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>>> >>>> _______________________________________________ >>>> Quickfixj-users mailing list >>>> Qui...@li... >>>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>>> >>> >>> >>> -- >>> Grant Birchmeier >>> *Connamara Systems, LLC* >>> *Made-To-Measure Trading Solutions.* >>> Exactly what you need. No more. No less. >>> http://connamara.com >>> >>> This email, along with any attachments, is confidential. If you believe >>> you received this message in error, please contact the sender immediately >>> and delete all copies of the message. Thank you from Connamara Systems, LLC. >>> _______________________________________________ >>> Quickfixj-users mailing list >>> Qui...@li... >>> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >>> >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > > > -- > Grant Birchmeier > *Connamara Systems, LLC* > *Made-To-Measure Trading Solutions.* > Exactly what you need. No more. No less. > http://connamara.com > > This email, along with any attachments, is confidential. If you believe > you received this message in error, please contact the sender immediately > and delete all copies of the message. Thank you from Connamara Systems, LLC. > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |