Version 1.1
    - fix to calling AnalyzeHistory after establishing StopMulti ant ProfitMulti for every Symbol
    - change to config to better trade on EUR

Version 1.5
    - fix to way StopLoss and TakeProfit values for function SendOrder are beeing calculated
    - change to way Robot Reinitializes, now Robot by Default checks history and establishes it parameters every 12 hours

Version 2.0
    - Robot will trade on all Symbols that are present in "Market Watch Window"(up to this point it was trading only on Currency Pairs).
    - change in determining best Symbols to trade
    - fine tuning

Version 2.5
    - change to calling for current prices values
    - change 60 to 1 second interval
    - robot analyzes now 3 days of history during initialization every 12 hours
    - added preprocessor directives in config, there are prepared two modes of running robot

Version 3.0
    - every time that robot is started, different log files are being created (with date in filename)
    - default lot size for Symbols other than CurrencyPair is 5
    - when detemrmining Gains and Loses all Minimas, Maximas are being checked

Version 4.0
    - added recording PastPoint during Init
    - added implementation of Fcnnhn Neural Network, there needs to be implmented use of this Neural Network, creating two Networks, one for BUY past points
      and one for SELL past points, this Neural Networks will determine if to proceed with trade with points established in MultiAnalyzerProcess

Version 4.5
    - added learning of PastPoints, needed to add use of this Neural Networks to determine if to proceed with trade with points established in MultiAnalyzerProcess

Version 5.1
    - implemented use of learned Neural Networks to determine when to trade

Version 6.0
    - narrowing trading from all Symbols to only Currency Pairs.    
    - adding comments
    - changes to StopLossMulti percent of TakeProfitMulti

Version 6.1
    - changes to StopLossMulti percent of TakeProfitMulti

Version 6.2
    - change to slippage value

Version 7.0
    - added use of separate Neural Network for each trdable Symbol

Version 7.1
    - change to invalid restart time

Version 7.5
    - display of average time of analyzed minimas, maximas
    - changes in configuration
    - adding narrowing SP and TP multi

Version 8.0
    - Reversing Trades

Version 8.5
    - Implementing separate Reversing Trades for every Symbol
    - fix to detarmining sells parameters

Version 9.0
    - Specifying in CConfig flag that makes delta TP equal to delta SP

Version 9.5
    - Added OrdersModification Section, allows to perform modifications of Open Orders
    - fix to Reversing Trades, changed from checking OrderCloseTime to OrderOpenTime

Version 10.0
    - added flags in config that lets define in config if all trades are to be reversed by default and it won't be changed during robots work
    - added StopTrailing

Version 11.0
    - optimization of initial multi process
    - added MQL5 version

Version 12.0
    - in MQL5 version by Default use of Neural Networks is switched off, when having shares prices of thousands of Corporations, it is enough for initial
      multi process to find tradable shares and use of NN is unnecessary

Version 12.5
    - changed SuccededInRow, FailedInRow to meaningfull values that will make Robot stop Trading when there are many Failed Trades.

Version 13.0
    - added logic for reversing all trades when is detected that the Trend has been Reversed, by default this is turned off

Version 14.0
    - moved MultiAnalyzerProcess out of Expert, now internal analysis is not reset after Expert re-initialization and continues to discover current trend

Version 15.0
    - Robot starts to Trade when Trend is established
    - in Config it is possible to specify detecting Trend and it's Reverse for every Symbol separetly

Version 16.0
    - added logging of InRow
    - if after period (Default 7 days) there will be more failed than successfull trades than ReverseTrades value will be set to it's oposite value for the next period
    - refactorization

Version 17.0
    - refactorization, so now Calculus Robot compiles under MQL4, MQL5 and C++ Compiler

Version 17.5
    - fixed bug created in Version 17.0, regarding not analyzing successfull buys from history
    - some work on CPP version
    - work on Reverse Trades logic
    - changed names of some varibles, regarding introducting in MQL5 new keywords

Version 18.0
    - fix to calucating input line for Neural Network

Version 19.0
    - fix to reading from reverse_trades file
    - introduced MinTradableSymbols
    - introduced MaxEpochSameValues
    - refactoring MultiAnalyzerInit, MultiAnalyzerProcess (removing parts of Copy/Paste)
    - Adding Module "Open Trades Modifiers" for Developing of Algorithms changing Open Trades

Version 20.0
    - included Reverse Trades logic in "Min Profit Reached"

Version 30.0
    - added RT separate logging
    - removed RT logic form last period
    - implemented Reverse Trades logic based on past Trades, by Default it will be active if there will be in logs more then 20 Trades

Version 31.0
    - added use of Neural Networks in Trend Analysis(Method C)

Version 32.0
    - fix to IDirReader

Version 40.0
    - added to extracting trades from logs, extracting only logs from periods similar to current period
    - implemented Method D

Version 41.0
    - compiler error (visible in C++ compiler) for method C fixed
    - added min trades completed and failed ratio for Method D logic to trigger, helps with after weekend issue

Version 42.0
    - removed config based Reverse Trades flag from beeing put to the logs

Version 43.0
    - implemented use of options BEST, WORST, BEST_COMMON, WORST_COMMON combination of parameters used in Method D

Version 50.0
    - introduced configuration file ConfigurationVaribles.txt, in this file can be specified Values overriding default configuration,
    this values are ReverseTrades, LotSize, ExecuteTrades. This file is read before each single placing of trade.

Version 60.0
    - implemented Method E, introduced configuration file ConfigurationRules.txt, in that file can be specified trading rules, rules can be obtained from
    application Tools\ResultsAnalyzer after providing file special_*.txt, with rules with value PercentSuccessfull lesser than 50.0
    Method E Reverse Trades flag will be automaticaly set to true, speed sets from diffrent rules can not overlap.

Version 65.0
    - development of Tools\ResultsAnalyzer

Version 70.0
    - fixed error in SortArray
    - implemented part of logic of Method F

Version 100.0
    - implemented Method F
    - added some comments to code
    - added "double CConfig::TakeProfitStopLossBiggerSpan = 1.0;", this value specifies multiplication of span between take profit and stop loss,
    it is used just before placing an order, its use will allow to manually close open trades on desired level without broker knowing real value of specified stop loss
    or take profit.
    - change to Method E, now Rules does not have to be in diffrent domains
    - when FarPastData.txt file bigger than Default two months, all file is not readed
    - implemented Method G - Multivariate version of Trail Stop

Version 120.0
    - worked on MethodGCalculator

Version 130.0
    - added comments to code
    - extended Method G, added Multivariate Trail Speed Stop

Version 150.0
    - modified Method G, Trail Speed
    - done some refactoring
    - added Specifing Propablity of Executing Trade(To lower amount of Trades)
    - added new option in Method G, Surfing_Stop

Version 180.0
    - added Surfing_Profit to Method G
    - some refactoring
    - added SURFING_REVERSE_PROFITS, SURFING_REVERSE_BALANCE to method G

Version 200.0
    - done some refactoring

Version 300.0
    - implemented Version 1.0 of CPP solution
    - implemented Version 1.0 of Backtester solution
    - added new option to Method G

Version 310.0
    - fixed error of not removing Orders in Backtester
    - fixed error in reading varibles in CRules class while in CPP version
    - fixed error in the sequence of reading two last values from ConfigurationVaribles.txt file
    - fixed error in HoursDiffWithoutWeekends function
    - fixed error in MathIsValidNumber function for CPP version
    - moved instances of PastProfits and OpenTrades to Params object

Version 330.0
    - fixed error with removing off all trades from buffer after Closing trades in Method G