Greetings!
I implemented MarketManager functions in my providers based on
http://www2.wealth-lab.com/WL5WIKI/apiMktMgr.ashxIn Market Manager I add the new market then copy symbols from dataset to it. I't OK (Pic 1).
Also I enable my static provider (Pic 2).
When I call
CODE:
Please log in to see this code.
for my dataset symbol, I get the "Default Eastern Market" instead of "MMA".
How to get the right market?
Size:
Color:
Pictures here:
Size:
Color:
Hi Igor,
Well, since the TimeZoneName property is defined as EST you get EST. It's not expected that you get the "MMA" string as the time zone; instead, you should get the time zone string equal to one of those installed in your operating system.
I guess what you're looking for is the Name and/or Description properties of the MarketInfo object. Check them out.
Size:
Color:
Of course, I try to see
marketInfo.Name and it's not "MMA", but "Default Eastern Market" for all symbols. Also I get
marketInfo.Description which is null.
From MarketManagerMarkets.xml
CODE:
Please log in to see this code.
From MarketsSettings.xml
CODE:
Please log in to see this code.
Size:
Color:
I have no idea what "Default Eastern Market" means as this is not a standard timezone string. If the DataSet belongs to your provider, the Name property should return the "MMA" string exactly as assigned in the Market Manager. This is what I get under debugger for (almost) any provider that I've tried. Note that the property will return null for 3rd party DataSets - for example, in the case of the DDE streaming and Watchlist providers.
1. How exactly are you querying for the .Name property in your code?
2. What's the full code of GetMarketInfo?
Size:
Color:
Here is the marketInfo content (Pic 1) after I call the code:
CODE:
Please log in to see this code.
1. Just debug after the call
2. As shown above
Size:
Color:
Make some research too. If I once get or configure MarketInfo it stores in cache. So the second time it's not calculated.
OK, I try to get the first time I try to access MarketInfo for ticker. See the Pic 1 below. It's Null for Name and Null for Description. Still no MMA market.
Size:
Color:
QUOTE:
Note that the property will return null for 3rd party DataSets - for example, in the case of the DDE streaming and Watchlist providers
I test my custom DataSets for TRANSAQ provider. They are the 3rd party DataSets for Wealth-Lab. But what to do to return the market name for my DataSets?
Size:
Color:
If I set the checkbox for market (Pic 1), I get the right market (Pic 2). But this is not a solution for multi-market trading. I.e. stocks and futures on Russian market.
Size:
Color:
I've looked into the issue a bit deeper and it seems to me that the problem is that the Market Manager is not set up to handle symbols with more than one dot in symbol name. So in my tests MMA.MMM would work for example but MMA.AAPL.O would not. You can call this a limitation. I've added a note to the
MM Wiki page.
QUOTE:
If I set the checkbox for market (Pic 1), I get the right market (Pic 2).
Right, this is not how the MM is designed to help you on this. I cannot recommend this as a solution. Now that you're talking about some caching that goes on under the hood of the data provider, I cannot make meaningful suggestions because I have little idea how that affects
GetMarketInfo in your case.
QUOTE:
I test my custom DataSets for TRANSAQ provider. It's the 3rd party DataSets for Wealth-Lab. But what to do to return the market name for my DataSets?
My comment only applies to a special case: a data provider works with DataSets by another provider. I'm aware of at least two such cases (see above). If you've just picked up the development of the Transaq provider then my comment could probably be disregarded.
Size:
Color:
Still can't get marketInfo.Name for "MMA.MMM". Also make a symbol BAC (plain text, no dots), tried to get, still no results :(
Size:
Color:
From Yahoo and IQFeed to Finam and Google, none of our two dozen or so data providers is having any trouble with the MM. Your code must be doing something wrong. Maybe it's the caching thing or something else that you're not showing. Follow the Wiki examples of Google and DDE providers: it's actually quite simple there.
Size:
Color:
Eugene, I found the bug. And It's in the MarketManager Library. Please tel me if I can publish it here. Or I start the private ticket where tell the solution.
Size:
Color:
Let's go private, thanks.
Size:
Color:
Published the ticket :-) Made the changes I described in ticket. Everything works OK.
Size:
Color:
A note for everyone: unfortunately, a Market Manager bug inadvertently got through with a build included with Quandl, Yahoo and IQFeed providers. We will issue replacements asap. Sorry for the inconvenience.
Size:
Color: