logo
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
billrobpv  
#1 Posted : Sunday, December 11, 2016 10:02:07 PM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

I need a C# programmer to write a DLL for Downloader v15.

For several years, I used Metalibv50 from Trading Tools, until I upgraded to x64 Excel2016, and it died.  It was only designed for x32 systems.

Last Spring, I bought a DLL (MS4XLS.DLL) that would work in the Declaration portion of my Visual Basic programs.  The DLL was designed to work with “Legacy” Metastock formats (Downloader v10.1).  The code line is “Private Declare PtrSafe Function GetReader Lib "c:\Program Files\MS4XLS\Ms4Xls.dll" () As Object”.  It will not work with Downloader v15.

I run an EOD download of about 25 ultra/contra ETFs, populating a spreadsheet with OHLC (each ETF) for about 400 days, and then I compute charts (using my own indicator) which shows the ETF momentum.  All open source Visual Basic.

Now I have to do 2 Downloads, running both V10.1 and V15.  I would like to pay a C# programmer to write a DLL that works (in the Declarations portion of my VB code) with Downloader v15 exactly like v10.1.  I can supply MS4XLS.DLL and all my VB code as needed.  I have considered writing a VB macro that would convert CSV files in Downloader v15 to a spreadsheet, but I would rather not unless it’s the best solution.

If you are interested, please email me bc.roberts@hotmail.com with your phone number (I live in the LA area) and I will call you for further discussion.  TIA.  Bill Roberts

MS Support  
#2 Posted : Monday, December 12, 2016 5:27:00 PM(UTC)
MS Support

Rank: Advanced Member

Groups: Moderators, Registered, Registered Users, Subscribers
Joined: 10/8/2010(UTC)
Posts: 1,452

Thanks: 39 times
Was thanked: 117 time(s) in 113 post(s)
Hi, One thing to keep in mind is that MetaStock 15 reads "Legacy" files even though the new DownLoader does not write/convert to the Legacy format. You could continue to use the old DownLoader and link these Legacy files to a local MetaStock 15 list. Ultimately it would probably be better to start using the MSLocal format. The new format has greater precision in number length as well as being more suited for some of the advanced analytics/new formula language we would like to do down the road. But you could certainly continue using the Legacy data format in the meantime, since most of these benefits to the new format are not realized yet.
billrobpv  
#3 Posted : Monday, December 12, 2016 6:09:30 PM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

 

Thanks for the note.  About 80% of my needs are met with just continuing to use Downloader v10.1.  But your note "Ultimately it would probably be better to start using the MSLocal format" pretty much sums it up.  I can live with Downloader v10.1,  I just prefer not. 

 

 

I assume the MSLocal format is public, just like the Legacy format??   If it is proprietary to MetaStock, that would be a problem for a programmer.

MS Support  
#4 Posted : Monday, December 12, 2016 6:57:51 PM(UTC)
MS Support

Rank: Advanced Member

Groups: Moderators, Registered, Registered Users, Subscribers
Joined: 10/8/2010(UTC)
Posts: 1,452

Thanks: 39 times
Was thanked: 117 time(s) in 113 post(s)
The MSLocal format is proprietary and was developed in-house. While Legacy was technically built off of the Computrac format, it was also heavily modified. It is possible the creator of this software reverse engineered our old format, although some of our official partners have used our MetaStock Developer's kit to read our old format. We have developed an API for our new format, but it is simply designed for a programmer to be able to take their own data and put it into MSLocal format, not send that information to Excel. It seems like the only/best solution would be as you noted, take CSV data and convert to XLS.
billrobpv  
#5 Posted : Monday, December 12, 2016 7:47:40 PM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

 

I think I need a DLL in the Declarations section of my VB code that works with Downloader v15, even if it is downloaded in a CSV format, and I don't know how to write the code for that DLL.

 

I hope that a C# programmer would. 

wabbit  
#6 Posted : Tuesday, December 13, 2016 5:14:21 AM(UTC)
wabbit

Rank: Advanced Member

Groups: Registered, Registered Users, Subscribers, Unverified Users
Joined: 10/28/2004(UTC)
Posts: 3,106
Location: Perth, Western Australia

Was thanked: 12 time(s) in 12 post(s)
If you've already got data in MS then why are you "exporting" it to do custom computations in Excel? Why not leave the data in MS and perform the computations there? If the MS formula language is not powerful enough for your momentum computation, write an external function (MSX DLL) and send the result back to MS. If you use the Downloader v15 to get data in CSV format, it's a very simple process to read CSV files with VBA and doesn't require any compiled code... it may even be easier to simply create a simple VBA library of functions (personal.xlsb) instead? (I've not seen anything of the new MS data format nor the "new" API.) wabbit [:D]
DACM  
#7 Posted : Tuesday, December 13, 2016 12:12:50 PM(UTC)
DACM

Rank: Newbie

Groups: Registered, Registered Users, Unverified Users
Joined: 1/8/2013(UTC)
Posts: 3
Location: Plymouth UK

 

As wabbit says, it is very easy to convert .txt or .csv, don’t be confused because the .txt option is not shown in the V15 Downloader menu. As far as I can see the New Downloader quickly converts all TEXT formats to the new MS format.

What does surprise me is that the New Downloader appears to refer to existing information somewhere in the MS15 platform to perform the conversion. For example today’s .CSV file was simply downloaded as Ticker, Open, High, Low, Close. i.e., no reference was made to the Name of the Fund even in the file name used which was the symbol code (Ticker). Much to my surprise the Downloader linked the Ticker to the Name that I had used in a previous file in another directory. The result was that my local data presents exactly as I like to see it.

I’ve puzzled over these conversion issues for many years and like Bill purchased DLL’s to find a quick, one stop way to convert .txt to MS11 MetaStock Format that worked very well. As far as the V15 MetaStock format I am not aware of any available DLL so I conclude that for the time being we use the privately acquired data in .csv or .txt and simply run the Downloader but there is another way:

You can still use TEXT files directly but it may be slower. Simply file your .txt or .csv file in your selected local data directory. This is all done in a flash by writing a very simple piece of code, my selected means is Visual Studio and it is working very well. The MS exploration of the text file does not appear to take any longer than the patent MS15 file but I’m sure MS15 file format will be quicker with a very large database.

An example of my data, please note the title of the .txt file does carry over to the ‘Chart Display Title Bar’ but this may be related to various experiments I have made with the New Downloader. This is the Format that I require.

Name of Text File: Aberdeen Asia Pacific Equity Acc - AFASPC.txt

Date,Open,High,Low,Close
19990624,43.700,43.700,43.700,43.700
19990625,43.640,43.640,43.640,43.640

I appreciate there is duplication and you only need the 'Close' field but it is easier to leave my Visual Studio format for all sorts of files where the High etc. is preferred. 

 

mauro  
#8 Posted : Wednesday, December 14, 2016 9:49:38 AM(UTC)
mauro

Rank: Newbie

Groups: Registered Users, Subscribers, Unverified Users
Joined: 12/13/2016(UTC)
Posts: 2

Yes, new SDK or MDK is definitely what programmers need to upgrade their actual automations to Metastock 15

I need to programmatically read the data in MSLocal files,
exporting MSLocal to csv with a library could be a solution Please release upgraded tools for developers!!

Edited by user Wednesday, December 14, 2016 10:55:53 AM(UTC)  | Reason: Not specified

PTJim  
#9 Posted : Sunday, January 29, 2017 7:20:38 PM(UTC)
PTJim

Rank: Advanced Member

Groups: Registered, Registered Users, Subscribers
Joined: 5/10/2006(UTC)
Posts: 242

Thanks: 10 times
Was thanked: 7 time(s) in 5 post(s)
Just to be clear, does MS v15 EOD both read/write the older MetaStock ('legacy'?) format? It doesn't modify the 'legacy' file structure in any way, correct?

For people using a third-party EOD quote service to gather data for version 10 or 11, is v15 a drop-in upgrade that will continue forward without having to change anything about our daily quote updates or historical data access?

Suppose we had zero interest in any of the glitz added since v11, could we install v15 and just keep moving forward with our current daily analysis routines without hassles?

You're twisting our arms by making sure we can't move our v10/11 installations to new hardware, but if we had to abandon our current data-supplier setups, that would complicate things quite a bit and waste a lot of time.


Edited by user Sunday, January 29, 2017 7:21:44 PM(UTC)  | Reason: Not specified

MS Support  
#10 Posted : Monday, January 30, 2017 4:24:43 PM(UTC)
MS Support

Rank: Advanced Member

Groups: Moderators, Registered, Registered Users, Subscribers
Joined: 10/8/2010(UTC)
Posts: 1,452

Thanks: 39 times
Was thanked: 117 time(s) in 113 post(s)
Hi, The new DownLoader Converts from Legacy(MSFL)+CSV to the new MSLocal format, and downloads directly into MSLocal format. It can also convert MSLocal to CSV. It does not download into any other formats. You can continue to use the old Downloader or any other collection tool that puts the data into the Legacy format. MetaStock 15 can read this format directly. You create a "Local Data" list in MetaStock 15 by browsing to your Legacy folders and you can continue to chart/update this as before.
thanks 1 user thanked MS Support for this useful post.
PTJim on 1/30/2017(UTC)
billrobpv  
#11 Posted : Tuesday, January 31, 2017 12:39:07 AM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

Please allow me to restate my request, although it seems incompatible with MS policy:

1 My macros (all Visual Basic) automatically populate OHLCV for a given security and a range of days.  That requires MS4XLS.DLL, imbedded in the VB code.

2 I purchased that DLL last spring to run with x64 bit Excel 2016, and it works OK with Downloader V10, using the MS Legacy format.  The programmer that wrote that code is not available.

3. It does not work with Downloader v15, since the downloaded data “defaults” the Local Data format, and I must have an “automated” spreadsheet (set up with the macro).

4. I will continue using Downloader v10, but I would like to pay for a DLL (similar to MS4XLS.DLL) that works with Downloader v15.  If anyone at MS would be willing to moonlight the project, I’ll be glad to give you all of my code, if that would help.   TIA    Bill Roberts   (bc.roberts@hotmail.com)

wabbit  
#12 Posted : Tuesday, January 31, 2017 1:04:31 AM(UTC)
wabbit

Rank: Advanced Member

Groups: Registered, Registered Users, Subscribers, Unverified Users
Joined: 10/28/2004(UTC)
Posts: 3,106
Location: Perth, Western Australia

Was thanked: 12 time(s) in 12 post(s)
Did you try exporting the MSLocal data to CSV using Downloader v15? Once you have the data in CSV or TEXT format, it's "easy" to write the VBA to read that data and insert it into your spreadsheet(s). I'm not sure if you can bulk export data from DLv15, so an alternate solution would be to use a simple MSX DLL called from an MS Explorer exploration to export the data to CSV or TEXT. (Yes, the simplest solution would be for Equis to release the format of MSLocal data and update the MDK so we can directly read (and potentially write) MSLocal data from external applications, but I wouldn't hold my breath waiting for that to happen, so you're going to have to accept an alternative solution.)
billrobpv  
#13 Posted : Thursday, February 2, 2017 12:58:04 AM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

 

Wabbit, my current solution (just use Downloader v10, don't use Downloader v15) is by far the easiest and fastest.  I'm just nervous that MS shuts down V10.  They seem to have a habit of arbitrarily withdrawing support for some older systems.  But that is another topic entirely (VBG) Bill Roberts

mauro  
#14 Posted : Thursday, May 17, 2018 8:24:45 AM(UTC)
mauro

Rank: Newbie

Groups: Registered Users, Subscribers, Unverified Users
Joined: 12/13/2016(UTC)
Posts: 2

Hello, any update about a DLL or SDK that allow programmers to start Downloader from code and programmatically read data?
MS Support  
#15 Posted : Monday, May 21, 2018 4:31:50 PM(UTC)
MS Support

Rank: Advanced Member

Groups: Moderators, Registered, Registered Users, Subscribers
Joined: 10/8/2010(UTC)
Posts: 1,452

Thanks: 39 times
Was thanked: 117 time(s) in 113 post(s)

Originally Posted by: mauro Go to Quoted Post
Hello, any update about a DLL or SDK that allow programmers to start Downloader from code and programmatically read data?

Hi,

Outside of launching the executable, there isn't much else one can do to start Downloader. There is a switch you can add to the exe command /express which basically attempts to download the folders added to Downloader previously.

Reading the data programmatically is possible using our MSLocal Data API. We don't really have a web page set up for this product, but you can speak with our Sales team if this is something you would be interested in.

billrobpv  
#16 Posted : Saturday, June 2, 2018 6:15:25 PM(UTC)
billrobpv

Rank: Member

Groups: Registered, Registered Users, Unverified Users
Joined: 9/22/2009(UTC)
Posts: 11
Location: California

I am pleased to report that I have purchased MS15XLS.DLL from Neil Meisenbacher, GTG Development Corporation (nmeis@gtgd.com). It requires Excel 2016 (x64) and works fine with Downloader 15. It performs as I required. I can create a spreadsheet, for a given symbol, of 400 rows (date/o/h/l/c/v) in a few milliseconds. It is a part of my Visual Basic macros, and I apply my own technical analysis to the spreadsheet. The macro I use is a modified version of Wilder’s Swing Index. It is momentum indicator that (generally) leads the overall market by a few days. If anyone is interested, I will give you my macros. Please ask directly (bc.roberts@hotmail.com). I am a swing trader, using a portfolio of leveraged and inverse ETFs. I rarely own stocks, and I never scan. I am up about 20%/year for the last few years, including 2018.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.