Watch how to download trading robots for free
Find us on Twitter!
Join our fan page
Join our fan page
You liked the script? Try it in the MetaTrader 5 terminal
Auto optimizer - library for MetaTrader 4
- Views:
- 9250
- Rating:
- Published:
- 2016.03.25 14:10
- Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
The detailed article on the usage of the auto optimizer library and principles of its operation can be found here: https://www.mql5.com/en/articles/1467
The code to insert in your EA:
//---- extern int SetHour = 0; //Optimization starting hour extern int SetMinute = 1; //Optimization starting minute int TestDay = 3; //Number of days for optimization int TimeOut = 4; //Optimization end timeout in minutes string NameMTS = "Expert_Name"; //EA's name string NameFileSet = "SetFileName.set"; //Name of the Set-file with the settings string PuthTester = "PathTester"; //Path to the tester //--- Filtering order int Gross_Profit = 1; //Sorting by Maximal profit int Profit_Factor = 2; //Sorting by Maximal profit factor int Expected_Payoff= 3; //Sorting by Maximal expected payoff //--variable names for optimization string Per1 = "variables_1"; string Per2 = "variables_2"; string Per3 = "variables_3"; string Per4 = "variables_4"; bool StartTest=false; datetime TimeStart; //--- Include the auto optimizer library #include <auto_optimization.mqh> //----The code to insert in the start() function
//---- // Not to be launched at testing and optimizing if(!IsTesting() && !IsOptimization()) { // Compare the current hour with that preset for launching if(TimeHour(TimeLocal()) == SetHour) { // Protection against restarting if(!StartTest) { // Compare the minute range to the minute preset for launching if(TimeMinute(TimeLocal()) > SetMinute - 1) { // the range is necessary, if for some reason // no new tick is available for a long time if(TimeMinute(TimeLocal()) < SetMinute + 1) { TimeStart = TimeLocal(); StartTest = true; // Flag of tester launching Tester(TestDay, NameMTS, NameFileSet, PuthTester, TimeOut, Gross_Profit, Profit_Factor, Expected_Payoff, Per1, Per2, Per3, Per4); } } } } variables_1 = GlobalVariableGet(Per1); variables_2 = GlobalVariableGet(Per2); variables_3 = GlobalVariableGet(Per3); variables_4 = GlobalVariableGet(Per4); } // If the tester launching is flagged if(StartTest) { // If more time has elapsed the launching than it was set // to be the test waiting time if(TimeLocal() - TimeStart > TimeOut*60) { StartTest = false; // Zero the flag } } //----Added the auto optimizer library modified for the 204 Build -а auto_optimization_204.mqh
Accordingly, the code for calling the library will be as follows
//--- Include the auto optimizer library #include <auto_optimization_204.mqh>
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/7090
s_wininet
Example of using wininet.dll for downloading a web page.
The WaveMarker script setA set of scripts for quick drawing the Elliott waves.
Converting hst-files into csv files
The hst2csv script is used for converting *.hst files to *.csv files, that can be imported into the MetaTrader 4 client terminal with no errors.
History analysis on presence of holes and gapsThe history_data_analysis_v3 script checks the history for missing bars, determines the size of the holes, gaps and makes a list of them.