question

Upvotes
Accepted
5 0 3 6

MMT_Market_By_Price not return feedback unlike MMT_Market_Price

examplerfacfg.txt

starterconsumercfg.txt

I used the RFA.NET to retrieve the Market price using RFA.NET and I used the example StarterConsmer and everything works ok untill I tried to Market Depeth using MMT_Market_By_Price I encountered the statusText record not found .If I changed the MMT_Market_By_Price to MMT_Market_Price I got feed back otherwise i will encounter record not found

I attached conifguration files at current post , nor that the service name and item name are changed at run time

private long SendItemRequest(RFA_String itemName, RFA_String serviceName)
        {
            return SendItemRequest(itemName, serviceName, 0, RDM.RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_BY_PRICE, (ReqMsg.InteractionTypeFlag.InitialImage | ReqMsg.InteractionTypeFlag.InterestAfterRefresh));
        }

private long SendItemRequest(RFA_String itemName, RFA_String serviceName, byte indicationMask, byte msgModelType, byte interType)
        {
            long handle = 0;
            ReqMsg reqMsg = new ReqMsg();
            AttribInfo attribInfo = new AttribInfo();


            reqMsg.MsgModelType = msgModelType;
            reqMsg.InteractionType = interType;


            attribInfo.NameType = RDM.RDM.INSTRUMENT_NAME_TYPES.INSTRUMENT_NAME_RIC;
            attribInfo.Name = new RFA_String("EUR=");
            
            attribInfo.ServiceName = serviceName;
            reqMsg.AttribInfo = attribInfo;
            //reqMsg.IndicationMask = (byte)(reqMsg.IndicationMask | indicationMask);
            OMMItemIntSpec ommItemIntSpec = new OMMItemIntSpec();
            ommItemIntSpec.Msg = reqMsg;
            string[] strs = new string[5];
            strs[0] = "itemName";
            strs[1] = "serviceName";
            strs[2] = "indicationMask";
            strs[3] = "msgModelType";
            strs[4] = "interactionType";
            RFA_String text = new RFA_String();
            int SIZE = strs[4].Length + 1;
            AppUtil.FormatNameValue(text, new RFA_String(strs[0]), SIZE, reqMsg.AttribInfo.Name);
            AppUtil.FormatNameValue(text, new RFA_String(strs[1]), SIZE, reqMsg.AttribInfo.ServiceName);
            AppUtil.FormatNameValue(text, new RFA_String(strs[2]), SIZE, reqMsg.IndicationMask.ToString());
            AppUtil.FormatNameValue(text, new RFA_String(strs[3]), SIZE, reqMsg.MsgModelType.ToString());
            text.Append(" : ");
            text.Append(OMMStrings.MsgModelTypeToString(reqMsg.MsgModelType));
            AppUtil.FormatNameValue(text, new RFA_String(strs[4]), SIZE, reqMsg.InteractionType.ToString());
            text.Append(" : ");
            text.Append(OMMStrings.InteractionTypeToString(reqMsg.InteractionType));
            AppUtil.Log(AppUtil.LEVEL.TRACE, string.Format("Create Item Request {0}", text.ToString()));
            handle = ommConsumer.RegisterClient(eventQueue, ommItemIntSpec, this, itemName);
            return handle;
        }
treprfarfa-api
icon clock
10 |1500

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

Upvote
Accepted
7.6k 15 6 9

Do not assume that data feed provides both Level 1 Market Price and Level 2 Market By Price data using same RIC. It can use difference RIC name for Level 2.

API does not know meaning of the data it just provide method to request data from the provider server and provide data as is. If data feed use difference RIC or it does not provide Market By Price data , you should get status message with status text like "Record could not be found". That is expected behaviour.

You have to contact content support team via ContactUs to check if Elektron data feed provide Market By Price data for the RIC or not. It might use difference RIC to represent the data.

icon clock
10 |1500

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

Thank you very much , I sent an email for my provider in this context and I will get back with details as soon as possible

Upvotes
5 0 3 6

When I start request MarketPrice I got initial image and I can see the details of the Market by Price , but when I use MMT_MARKET_BY_PRICE for same service and item name I got record not found ? what you think the source of this issue ?

@moragodkrit

icon clock
10 |1500

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

Upvotes
5 0 3 6

by the way is there is an online source to get all this details form the web ? I mean the RIC where my provide is thomson reuters.

icon clock
10 |1500

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

Upvotes
23k 22 9 14

There are two parts to this picture, in my understanding:

1. Searching for the correct RIC.

One can use RIC Search Tool to look up and drill to the RIC per your requirement.

2. Verifying that the subscribed source provides the model type that one is looking to subscribe, i.e. Market By Price, and what if the RIC is different as discussed by Moragodkrit

Subscribe to the source directory (RFA example "OMM Dictionary" that comes with SDK has this) and review it. In section "Capabilities", you will see the enumeration of model types provided. For example. 5,6,8. They are defined as RDMMessageTypes, and 8 is Market By Price. If the source provides MbP, the next step is to subscribe to MbP by symbol . If it does not, no point subscribing, will not be found.

Trying the same RIC is the first step, and will very often be the case. If, however, it is not found, then it becomes a content question, if the source Elektron, please contact TR support for a content inquiry, if it is another provider, then contact the provider of the source.

icon clock
10 |1500

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

Click below to post an Idea Post Idea