Major release with many new features and internal improvements.
Updated the D programming language toolset to the latest version. Uses the latest Microsoft linker for the 64 bits path.
Updated code to comply with the latest D programming language specification.
It is now possible to modify history data in HCC files, finally! For this purpose three functions were introduced:
"HCCBeginTransaction", "HCCCommitTransaction" and "HCCUpdateRates".
New parsing algorithm. Now is more robust, reliable and flexible. It also comes with a new (experimental and optional) feature called "FastParse" which
increases parsing performance by optimizing seek and read operations.
"Not all rates are created equal", this is why the "HCCSetParsingOptions" function was introduced. It is now possible to have control of the parsing options.
HCC files use a dynamic/incremental structure that allows rates to be appended by the use of a separator. This new addition will allow to work with HCC files
that do not use the standard separator. It also allows to enable/disable "FastParse".
64 bits support for the HCC Library. The 64 bits version is in the "x64" subfolder.
The HCC Library is now thread safe. Multiple threads are mutually excluded.
All tools are now in the "bin" subfolder.
Corrupted rates are now detected (invalid time, low and high values). Functions in the HCC API will return error code #10020.
Default parsing options are relaxed and all rates are processed. You can specify how to handle corrupted rates in the parsing options override mechanism.
Removed the "period" member from the "HCCRates" structure and the "Period" value from the "HCC_RATES_PROPERTY" enumeration.
They were no more internally used, were causing name conflicts in MQL5 and will now save memory when loading history.
Revised HCC bindings for the supported languages. Many changes and improvements were made. Renamed the bindings folder "import" to "include".
The MQL5 bindings now support "type defines".
The C# bindings have been fixed and are now working. Replaced the immutable class "String" with the mutable class "StringBuilder" for OUT parameters.
The "hcc.h" bindings were rebranded for use with standard C language and legacy C++ (up to C++03). There is now the "hcc.hpp" bindings for C++11 and newer.
The "size_t" type was replaced with a fixed size, 32 bit unsigned integer type. The "size_t" type was definitely and specifically not required by the HCC API
and it was causing incompatibilities with some languages. Now the toolkit compiles and runs more seamlessly under all platforms, the HCC bindings now have
no workarounds for size_t and work consistently under a single code path for all platforms.
Revised examples for the supported languages. Many changes and way too many improvements were made.
The previous C++ example was adapted and rebranded for standard C language and legacy C++ (up to C++03).
Added new C++ example for C++11 and newer.
Added C# example.
Renamed import library files to "hcc_omf.lib" (for OMF) and "hcc_coff.lib" (for COFF). The 64 bits versions are in the "x64" subfolder.
Minor changes to HCC Command Line.
Updated HCC Explorer. Massive changes and improvements were made. Implemented newest HCC API features so you can make use of them.
You can edit rates by double clicking on them (remember to BACKUP your files first!).
Updated the documentation to reflect the newest changes and also added a typical program workflow to show in which order the HCC functions should be called.
HCC Library: Relaxed rates detection because some brokers are using very much different formats than
the development version in 2013. This may (but very unlikely) generate false rates or crash.
This is a compatibility version only and may be reverted later in case it generates too many issues.
Use the previous version if you are able to read and export rates with it.
HCC Explorer: Added notice in filter dialog box about experimental timeframes other than 1 minute.
Rates composition is still experimental.