Local Installation

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:

  1. Standalone solo installation
  2. Swarm-like installation(Polyindicators)
  3. Automatic Optimization
  4. Polyindicators + Automatic Optimization


FrankPro

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.


Standalone solo installation

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:
FrankPro_run

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):
Download_prev_sets

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.


Swarm-like installation(Polyindicators)

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:
Optimizator_PI_conf

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.


Automatic Optimization

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

Optimizator.ex5 for local installation automatically performs optimization of
the chosen agents with the chosen time interval.

Optimizator.ex5 functionality:

  1. (Optionally)Downloads current optimization matrices from Frankenstein.pro (for the assigned OPT_ID).
  2. In LOCAL mode, uses these matrices(can be tuned manually by the user) to start optimization process.
  3. Waits for the Tester application to finish optimization cycle...
  4. Analyses results, filters results, chooses the best performing parameters set.
  5. Optimizator removes the agent from the Terminal.
  6. Creates new template and Launch a new window with an agent with new paramaters.
  7. Maintains Database with all good(passed filters) optimization passes.
  8. Loads parameters into existing running FrankPro agent(run-time, without reinitialization).

Input parameters

The program requires shell32.dll to copy files from aux Tester to Terminal,
check the checkbox at the 'Dependencies' subpage:
Optimizator_allow_dll

(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):
Webrequest

Input parameters:
Optimizator_inputs


ID (OPT_ID) is the id from the Optimization page,
the matrices are downloaded only for the specified OPT_ID:
Optimizator_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:
Optimizator_path1

'path to 'Roaming' folder with the AUX Terminal's data' may look like this(or whichever path was chosen at the installation moment):
Optimizator_path2

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.


Local Installation

Template setup

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.


Download Matrices from Frankenstein.pro

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:
Optimizator_LOCAL_OPTIMIZATOR

Make sure that in the settings of the MetaTrader5 terminal WebRequest is allowed for "https://frankenstein.pro":
Webrequest

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:
Optimizator_matrices_path


Switch to Local Mode

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:
Optimizator_LOCAL_OPTIMIZATOR

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.


Edit the matrices

To edit matrices you can use any text editor:
Optimizator_edit_matrix
To understand which name refers to which parameter look at the InputsNames.txt file.

Or (1)load the matrix into the MT5 Tester application:
Optimizator_load_inputs1
(2)change the parameters(while in genetic or full optimization mode):
Optimizator_load_inputs2
(3)save the new matrix manually, use right-click, then "save",
Optimizator_load_inputs3
and overwrite the opt_matrix.set file:
Optimizator_load_inputs4

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.


Configurations

For each FrankPro agent Optimizator uses a copy of a configuration file
stored at directory ..\MQL5\Files\Optimizator_[OPT_ID]\configs\:
Optimizator_configs

Edit the file with any text editor, set the values that the Tester application will use
when performing 'fast genetic' optimization cycle:
Optimizator_edit_config

Initially, the values are downloaded from Optimization page:
Optimizator_configs_source

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.


Running

Keep 1 instance of Optimizator running in any chart window of the terminal:
Optimizator_running

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:
Optim_state

After switching to ENUM_MODE_LOCAL_OPTIMIZATOR, you can edit the matrices and the configurations,
they won't get overwritten by new downloaded matrices.


EA state

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:
Params_actual

(parameters in the native 'parameters window' are ignored,
they are only in use in ENUM_MANUAL_MODE or in standalone installation)