question

Upvotes
Accepted
1 2 1 7

How to handle prices that are added in an updateMsg after first added in a refreshMsg?

I am requesting market by price data for Tokyo Stock Exchange. At startup I get a refresh message with a lot of prices added.

But if we start up the service before market opens, then after the refresh is complete a lot of prices are added by update messages which were already added in the refresh message.

For example, in the refresh message we have this price added:

3738 3030 3030 3030 41 78000000A

dataType="FieldList"
FieldList
FieldEntry fid="3427" name="ORDER_PRC" dataType="Real" value="7800.0"
FieldEntry fid="3428" name="ORDER_SIDE" dataType="Enum" value="2"
FieldEntry fid="4356" name="ACC_SIZE" dataType="Real" value="193000"
FieldEntry fid="3430" name="NO_ORD" dataType="UInt" value="521"
FieldEntry fid="6527" name="LV_TIM_MS" dataType="UInt" value="20632459"
FieldEntry fid="6529" name="LV_DATE" dataType="Date" value="15 JAN 2018"
FieldEntry fid="3886" name="ORDER_TONE" dataType="Rmtes" value=" "
FieldEntry fid="14268" name="LV_TIM_NS" dataType="Time" value="05:43:52:459:589:000"
FieldListEnd
MapEntryEnd
MapEntry action="Add" key dataType="Buffer" value=

Then, in the first update message after refresh is complete, 78000000A is added again:

UpdateMsg
streamId="5"
domain="MarketByPrice Domain"
updateTypeNum="0"
seqNum="3"
name="7203.T"
nameType="1"
serviceId="289"
serviceName="DIRECT_FEED"
Payload dataType="Map"
Map
SummaryData dataType="FieldList"
FieldList
FieldEntry fid="17" name="ACTIV_DATE" dataType="Date" value="15 JAN 2018"
FieldEntry fid="4148" name="TIMACT_MS" dataType="UInt" value="82800056"
FieldEntry fid="6516" name="BOOK_STATE" dataType="Enum" value="1"
FieldEntry fid="6517" name="HALT_REASN" dataType="Rmtes" value=" "
FieldEntry fid="6614" name="TRD_STATUS" dataType="Enum" value="1"
FieldEntry fid="14269" name="TIMACT_NS" dataType="Time" value="23:00:00:056:187:000"
FieldListEnd
SummaryDataEnd
MapEntry action="Add" key dataType="Buffer" value=

3738 3030 3030 3030 41 78000000A

dataType="FieldList"
FieldList
FieldEntry fid="3427" name="ORDER_PRC" dataType="Real" value="7800.0"
FieldEntry fid="3428" name="ORDER_SIDE" dataType="Enum" value="2"
FieldEntry fid="4356" name="ACC_SIZE" dataType="Real" value="1900"
FieldEntry fid="3430" name="NO_ORD" dataType="UInt" value="1"
FieldEntry fid="6527" name="LV_TIM_MS" dataType="UInt" value="82800056"
FieldEntry fid="6529" name="LV_DATE" dataType="Date" value="15 JAN 2018"
FieldEntry fid="3886" name="ORDER_TONE" dataType="Rmtes" value=" C"
FieldEntry fid="14268" name="LV_TIM_NS" dataType="Time" value="23:00:00:056:187:000"
FieldListEnd
MapEntryEnd
MapEnd

PayloadEnd
UpdateMsgEnd

Is there some signal I failed to get, which signals that I have to clear the cache?

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apiequitiesrefresh-message
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
11.7k 57 39 60

Hi @vic,

I do notice there is quite a gap in time between your Refresh and Update based on the LV_TIM_MS field. Typically, you receive an action for a price point within your book as either an "Add", "Update" or "Delete". In addition, you may also receive a Market By Price (MBP) status message which does carry an indication that you need to clear your cache. You can refer to the EMA documentation - RDM Usage Guide:

So perhaps you may have either missed/not processed a "Delete" action within a MBP update or the MBP status to clear the cache.

Hope this gives you some direction.

thanks.


ahs.png (33.7 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 2 1 7

@nick.zincone.1. Thanks for your reply. I do not see a "Delete" action or ClearCache in between the adds. The second add is in the UpdateMsg that comes directly after the RefreshMsg which also adds the price. It seems like the first added price (added in refresh) is a price from a day before. Is there something else we could have missed?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
11.7k 57 39 60

Hi @vic,

Just to confirm, immediately after you received the complete refresh you received the update? When you say you didn't receive a ClearCache, I just want to confirm you are processing MBP status messages. It's quite common that applications will ignore these events. Other than that, the only explanation I have is it may be a data issue - especially if you only saw this once. You would have likely seen multiple instances of similar behavior if you are indeed not processing specific events such as "Delete" and "clearCache".

Although the time has passed, it would be interesting to resubscribe to that price book to see what the book would have looked like after the update.

Other than that, I would suggest to reach out to the support help desk to understand if the behavior you are seeing is a possible data issue.

thanks.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.