|
From: Matyas B. <ma...@ba...> - 2006-07-19 10:23:13
|
Hi All,
We found a strange problem, when we made a FIX.4.4. testing application.
When we send a SecurityStatusRequest (35=e), the server sends the
SecurityStatus (35=f) message with SecurityTradingStatus (Tag #326) = 17
("Ready to trade!")!
But the quickfix throws an incorrect tag value exception
(<20060719-09:42:51, FIX.4.4:A81->XXXXX, event> (Message 371 Rejected:
Value is incorrect (out of range) for this tag:326)
FixTester.toAdmin:
8=FIX.4.49=13135=334=10349=A8152=20060719-09:42:51.59156=BAXTER45=37158=Value
is incorrect (out of range) for this tag371=326372=f373=510=253)
We checked the constants on the quickfix javadoc file:
*quickfix.field.SecurityTradingStatus
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html>*
|public static final int| |FIELD
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#FIELD>|
|326|
|public static final int| |MARKET_IMBALANCE_BUY
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_IMBALANCE_BUY>|
|7|
|public static final int| |MARKET_IMBALANCE_SELL
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_IMBALANCE_SELL>|
|8|
|public static final int| |MARKET_ON_CLOSE_IMBALANCE_BUY
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#MARKET_ON_CLOSE_IMBALANCE_BUY>|
|9|
|public static final int| |NO_OPEN_NO_RESUME
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#NO_OPEN_NO_RESUME>|
|4|
|public static final int| |OPENING_DELAY
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#OPENING_DELAY>|
|1|
|public static final int| |PRICE_INDICATION
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#PRICE_INDICATION>|
|5|
|public static final int| |RESUME
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#RESUME>|
|3|
|public static final int| |TRADING_HALT
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#TRADING_HALT>|
|2|
|public static final int| |TRADING_RANGE_INDICATION
<http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/SecurityTradingStatus.html#TRADING_RANGE_INDICATION>|
|6|
But, in the FIX.4.4 documentation contains this:
Valid values:
1 = Opening Delay
2 = Trading Halt
3 = Resume
4 = No Open/No Resume
5 = Price Indication
6 = Trading Range Indication
7 = Market Imbalance Buy
8 = Market Imbalance Sell
9 = Market On Close Imbalance Buy
10 = Market On Close Imbalance Sell
11 = (not assigned)
12 = No Market Imbalance
13 = No Market On Close Imbalance
14 = ITS Pre-Opening
15 = New Price Indication
16 = Trade Dissemination Time
17 = Ready to trade (start of session)
18 = Not Available for trading (end of session)
19 = Not Traded on this Market
20 = Unknown or Invalid
21 = Pre-Open
22 = Opening Rotation
23 = Fast Market
Why hasn't the quickfix constants for every valid values of the
SecurityTradingStatus?
How can I solve this problem? (Catch the exception after the
MessageCracker, or extend the constants wit the possible values...)
Thank you,
Matyi
|
|
From: Steve B. <st...@te...> - 2006-07-19 10:45:54
|
Hello Matyi, The FIX*.xml files are hand maintained so occasionally we find a missing enum. Like Toby suggested, a patch for the FIX44.xml would be useful and will be included in the release of QFJ. At a minimum, please enter a Jira issue in the QFJ bug tracker and we'll correct the problem. Thanks, Steve > -----Original Message----- > From: qui...@li...=20 > [mailto:qui...@li...] On=20 > Behalf Of Matyas Barakonyi > Sent: Wednesday, July 19, 2006 11:55 AM > To: qui...@li... > Subject: [Quickfixj-users] SecurityTradingStatus valid values=20 > VS. incorrecttag value >=20 > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ Hi All, >=20 > We found a strange problem, when we made a FIX.4.4. testing=20 > application.=20 > When we send a SecurityStatusRequest (35=3De), the server sends=20 > the SecurityStatus (35=3Df) message with SecurityTradingStatus=20 > (Tag #326) =3D 17 ("Ready to trade!")! >=20 > But the quickfix throws an incorrect tag value exception=20 > (<20060719-09:42:51, FIX.4.4:A81->XXXXX, event> (Message 371=20 > Rejected:=20 > Value is incorrect (out of range) for this tag:326) > FixTester.toAdmin:=20 > = 8=3DFIX.4.4=019=3D131=0135=3D3=0134=3D103=0149=3DA81=0152=3D20060719-09:4= 2:51.591=0156 > =3DBAXTER=0145=3D371=0158=3DValue > is incorrect (out of range) for this = tag=01371=3D326=01372=3Df=01373=3D5=0110=3D253=01) >=20 > We checked the constants on the quickfix javadoc file: >=20 > *quickfix.field.SecurityTradingStatus > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html>*=20 >=20 > |public static final int| |FIELD=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#FIELD>|=20 > |326| > |public static final int| |MARKET_IMBALANCE_BUY=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#MARKET_IMBALANCE_BUY>|=20 > |7| > |public static final int| |MARKET_IMBALANCE_SELL=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#MARKET_IMBALANCE_SELL>|=20 > |8| > |public static final int| |MARKET_ON_CLOSE_IMBALANCE_BUY=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#MARKET_ON_CLOSE_IMBALANCE_BUY>|=20 > |9| > |public static final int| |NO_OPEN_NO_RESUME=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#NO_OPEN_NO_RESUME>|=20 > |4| > |public static final int| |OPENING_DELAY=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#OPENING_DELAY>|=20 > |1| > |public static final int| |PRICE_INDICATION=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#PRICE_INDICATION>|=20 > |5| > |public static final int| |RESUME=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#RESUME>|=20 > |3| > |public static final int| |TRADING_HALT=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#TRADING_HALT>|=20 > |2| > |public static final int| |TRADING_RANGE_INDICATION=20 > <http://www.quickfixj.org/quickfixj/javadoc/quickfix/field/Sec > urityTradingStatus.html#TRADING_RANGE_INDICATION>|=20 > |6| >=20 > But, in the FIX.4.4 documentation contains this: >=20 > Valid values: > 1 =3D Opening Delay > 2 =3D Trading Halt > 3 =3D Resume > 4 =3D No Open/No Resume > 5 =3D Price Indication > 6 =3D Trading Range Indication > 7 =3D Market Imbalance Buy > 8 =3D Market Imbalance Sell > 9 =3D Market On Close Imbalance Buy > 10 =3D Market On Close Imbalance Sell > 11 =3D (not assigned) > 12 =3D No Market Imbalance > 13 =3D No Market On Close Imbalance > 14 =3D ITS Pre-Opening > 15 =3D New Price Indication > 16 =3D Trade Dissemination Time > 17 =3D Ready to trade (start of session) > 18 =3D Not Available for trading (end of session) > 19 =3D Not Traded on this Market > 20 =3D Unknown or Invalid > 21 =3D Pre-Open > 22 =3D Opening Rotation > 23 =3D Fast Market >=20 >=20 > Why hasn't the quickfix constants for every valid values of=20 > the SecurityTradingStatus? > How can I solve this problem? (Catch the exception after the=20 > MessageCracker, or extend the constants wit the possible values...) >=20 > Thank you, >=20 > Matyi >=20 >=20 > -------------------------------------------------------------- > ----------- > Take Surveys. Earn Cash. Influence the Future of IT Join=20 > SourceForge.net's Techsay panel and you'll get the chance to=20 > share your opinions on IT & business topics through brief=20 > surveys -- and earn cash=20 > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge > &CID=3DDEVDEV > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users >=20 |