This article describes how to install local FrankPro agents on your machine
and how to configure automatic optimization with Optimizator.ex5.
There are 4 main ways FrankPro agents can be organized in:
FrankPro.ex5 is the fullest build published on MQL5 Market.
This version features most of the system's functionality.
This includes PolyIndicators and Automatic Optimization.
To install and configure a single FrankPro agent, so it could trade,
all you need is to run FrankPro.ex5 in any chart window of MT5 Terminal:
The required .set file with parameters can be downloaded at Robots page,
just click on "download" button against the robot that you like.
The .set files at the Robots Page are updated weekly(on weekends, or Monday, usually).
Another way to acquire .set file is to download it from the History of Optimization Results(at Optimization page):
Some additional tuning of the downloaded .set may be required, depending on the broker you work with,
or local settings, or risk-deposit-balance parameters.
Optionally, run the downloaded .set file with Frank.ex5(LightWeight Version) in Tester -
see if the configuration satisfies your needs before you arm it for trading.
This also helps to tune the system to the specific broker and deposit-management style.
To run a standalone configuration - set the parameter 'Auto Optimization Mode (Optimizator.ex5)' to ENUM_MODE_MANUAL.
This way input parameters for the EA are manually entered on Inputs subpage or loaded via the .set file by User.
Optimizator.ex5 is not used at all in this case.
To configure polyindicators to link together FrankPro.ex5 agents, user has to either download
the PI_conf.conf file at the Polyindicators page and copy it to the MQL5 folder, or
create the PI_conf.conf file manually, using any text editor.
File should be located here, copy it:
FrankPro agents will automatically copy this file to their individual data folders at each startup if the parameter
'Copy PI_conf.conf from the root MQL folder to the EA's folder' is set to true.
No matter what the value is - FrankPro EA always loads the PI_conf.conf copy located inside the robot's data folder, for ex.:
\MQL5\Files\EURUSD_101\PI_conf.conf
The file can be edited manually(turn off the "Copy PI_conf.conf..." parameter before that),
you can specify multiple Polyindicators, for ex.(the syntax is described in the "Polyindicators" chapter of Documentation):
PI:1|InEAs:|In_PIs:2,3,4,5-R|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:2|InEAs:GBPUSD-101-R,GBPUSD-202-R|In_PIs:1,3|Min_Sig_Num:1|Max_Opp_Sig_Num:1
It makes sense to edit the root file located in the Files folder so that Frankies copy it automatically at next startup.
This way you only need to edit the file once.
If you edit these files invididually - you can configure multiple Optimizators running simultaneously in the same Terminal.
PI_conf.conf file sample:
time created:1718114875
PI:1|InEAs:GBPUSD-1,GBPUSD-2,AUDUSD-5,USDCAD-4|In_PIs:|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:2|InEAs:GBPUSD-101-R,GBPUSD-202-R|In_PIs:1,3|Min_Sig_Num:1|Max_Opp_Sig_Num:1
PI:3|InEAs:EURUSD-1,EURUSD-2,USDCAD-5,USDCHF-4|In_PIs:|Min_Sig_Num:1|Max_Opp_Sig_Num:0
PI:4|InEAs:|In_PIs:1,2,3|Min_Sig_Num:2|Max_Opp_Sig_Num:0
PI:5|InEAs:|In_PIs:2,3|Min_Sig_Num:1|Max_Opp_Sig_Num:0
You can enter any number of rows here, EAs, set the Min_Sig_Num and Max_Opp_Sig_Num values.
In more details Polyindicators are described in the "PolyIndicators" chapter of the Documentation.
To set up fully autonomous optimization for a group of FrankPro agents -
use Optimizator.
You can set up over 90 FrankPro agents running simultaneously in 1 Terminal,
all under centralized control of Optimizator.ex5...
Optimizator.ex5 for local installation automatically performs optimization of
the chosen agents with the chosen time interval.
Optimizator.ex5 functionality:
The program requires shell32.dll to copy files from aux Tester to Terminal,
check the checkbox at the 'Dependencies' subpage:
(If you want Optimizator to download matrices)Make sure that WebRequest to https://frankenstein.pro is allowed in
the settings of the MT5 Terminal(this allows connection to frankenstein.pro API):
Input parameters:
ID (OPT_ID) is the id from the Optimization page,
the matrices are downloaded only for the specified OPT_ID:
Optimizator requires a second MetaTrader5 terminal to be installed.
It makes sense to install a copy of the same terminal for the same broker,
to a different folder(you can use the same account there).
Manually set directory locations so that Optimizator knows where to find the AUX terminal,
'path to AUX metatester64.exe' looks like this:
'path to 'Roaming' folder with the AUX Terminal's data' may look like this(or whichever path was chosen at the installation moment):
This auxiliary terminal will be used to perform optimization.
When optimization is complete, Optimizator will copy the results to the MQL5\Files\Optimizator_[OPT_ID]\results\ folder,
and to the MQL5\Files\[Symbol]_[magic]\curr_set.set location as well,
then close the aux Tester and launch a new cycle of optimization if needed.
Optimizator uses template file Frank_template.tpl, stored in directory C:\Users\UserName\AppData\Roaming\MetaQuotes\Terminal\***\MQL5\Files\.
Download it at the page Goods or here: Frank_template.tpl
When the file is downloaded, copy it to directory "Files", so that Optimizator can read it.
Parameters inside can be tuned.
Non-optimized parameters are loaded from a template, optimized ones - from the .set results file.
User can create his own template, by clicking right-mouse on a window with FrankPro and choosing "Templates-Save template".
Save it as Files\Frank_template.tpl.
When the parameter 'Frankenstein.pro Mode: download matrices?'
is set to ENUM_MODE_FRANKPRO, Optimizator connects to Frankenstein.pro
and downloads current matrices and configurations from the public pool to the filesystem:
Make sure that in the settings of the MetaTrader5 terminal WebRequest is allowed for "https://frankenstein.pro":
These matrices can be used "as is",
but most probably there will be a need to edit them manually.
This is due to the fact that the matrices are configured to work with a specific broker.
To work with your broker, some parameters may need to be adjusted.
Matrices are stored at the *\MQL5\Files\[Symbol]_[Magic]\opt_matrix.set location for each FrankPro agent:
When the parameter 'Frankenstein.pro Mode: download matrices?'
is set to ENUM_MODE_LOCAL_OPTIMIZATOR, no connection to Frankenstein.pro is performed
and the Optimizator.ex5 loads matrices locally from the filesystem:
After downloading configurations and matrices in ENUM_MODE_FRANKPRO mode,
user can switch Optimizator to ENUM_MODE_LOCAL_OPTIMIZATOR mode.
Optimizator then starts loading these matrices only locally.
As was mentioned previously, these matrices and configurations can be manually edited
to tune the system for the specific broker.
To edit matrices you can use any text editor:
To understand which name refers to which parameter look at the InputsNames.txt file.
Or (1)load the matrix into the MT5 Tester application:
(2)change the parameters(while in genetic or full optimization mode):
(3)save the new matrix manually, use right-click, then "save",
and overwrite the opt_matrix.set file:
Note:
It is a highly beneficial practice to run the downloaded and edited opt_matrix.set files through
some fast optimization process with Frank.ex5(LightWeight Version) to
check the performance of the .set file and tune the system to your broker and account type.
For each FrankPro agent Optimizator uses a copy of a configuration file
stored at directory ..\MQL5\Files\Optimizator_[OPT_ID]\configs\:
Edit the file with any text editor, set the values that the Tester application will use
when performing 'fast genetic' optimization cycle:
Initially, the values are downloaded from Optimization page:
Specify optimization range in days - the length of historical data input.
30 days of data is considered to be the practical minimum.
90-180-365 days and other values can be used.
Optimization period("Reoptimize every N days") - period of reoptimization.
Every N days Optimizator performs a new optimization cycle to update the .set file
that is used by an agent for trading.
Once Optimizator's mode is set to ENUM_MODE_LOCAL_OPTIMIZATOR, the values are only loaded locally from the config files.
Keep 1 instance of Optimizator running in any chart window of the terminal:
Optimizator will automatically download matrices, start new optimization cycle,
launch a FrankPro EA agent with each successful pass.
For each FrankPro agent you can see current optimization status in the State window:
After switching to ENUM_MODE_LOCAL_OPTIMIZATOR, you can edit the matrices and the configurations,
they won't get overwritten by new downloaded matrices.
Optimizator passes the results locally to FrankPro agents.
Agents load these parameters automatically.
Depending on configuration, Optimizator will either close and re-open the existing
window with FrankPro agent or communicate the results and wait for FrankPro to load parameters itself.
If FrankPro loads new parameters run-time it may take some time
(it checks periodically the state, with a period up to 15 mins, so a delay is possible. Tip: Restart the Terminal to force reload).
This behavior is controlled by IP_IGNITE_MISSING - Ignite Frankensteins automatically? and IP_ignite_close_EA - close the EA before ignition flags.
The EA input parameters are buffered, to see the real, actual parameters in use by the Engine,
click the "params" button in the upper-right corner:
(parameters in the native 'parameters window' are ignored,
they are only in use in ENUM_MANUAL_MODE or in standalone installation)