...Considering that Visual C++ 6.0 (the version the MT3 API is claimed to be written for) is getting onto 10 years old, is it possible to get an updated version of the API/library?...
Sorry, MT3 API will not be updated.
...Since the MT3 API is the gateway into the MT4 API ...
We haven't MT4 API for Client Terminal.
OK. I guess then what I'd like to know is, if I want to make my own lightweight client terminal for trading, what product/API from MetaQuotes should I be looking at, that will work with Visual C++ 8.0 (that is, Microsoft's Visual Studio 2005)?
I'm still very confused about how the whole MT4 product family (Manager/Server/Datafeed API) works, and what I can get to replace the MetaTrader 3 API functionality.
I'm still very confused about how the whole MT4 product family (Manager/Server/Datafeed API) works, and what I can get to replace the MetaTrader 3 API functionality.
fire, i worked out mt3 api with both vc++ and vc#.net 2005
stsf_mike at yahoo dot com
stsf_mike at yahoo dot com
After getting frustrated with VS2003 again, I went back and read the change documentation for VS2005 (yes, RTFM) and found that while changing the MT3 defs might get the code to compile, MSVC is still treating time_t as an _int64 unless I define _USE_32BIT_TIME_T. Doing so makes everything, even the MT3 sample code, work fine.

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Though the MT3 API works with VS2003 (with a few caveats), it does not appear to work with VS2005. At first, VS2005 complained about missing function defs in the mtapi.lib library (MtGetRates and MtGetTradeHistory). I figured out that this was because VS2005 expects the 'time_t' type to be an __int64, while in mtapi.lib those functions expect timestamps to be passed as a long type (which isn't a conversion issue to VS2003 it seems).
Updating the function import defs in mtapi.h to use a long value instead of time_t solved the linker issue, but now I'm finding that data is being corrupted coming out of the mtapi.dll library. (It looks like memory isn't shared the same way by VS2005 either, since some of my own DLL's compiled in VS2003 exhibit memory problems also when loaded and run by a VS2005 app.)
Considering that Visual C++ 6.0 (the version the MT3 API is claimed to be written for) is getting onto 10 years old, is it possible to get an updated version of the API/library? Since the MT3 API is the gateway into the MT4 API for beginners, I think it would be a wise move. Anything prior to VS2005 isn't supported for Windows Vista, so it won't be long before new developers won't have a compatible build tool to even try out MetaQuotes functions.