OPS   Optimized Parameter Selector

OPS Optimized Parameter Selector

12 September 2025, 18:19
Better Trader Every Day
0
106

Purchase here

User Manual for OPS Software

The OPS software is designed to select Pareto points from optimization and forward testing results from CSV format files. 

Prior to running OPS, go to each table of results (optimization and forward) and create two separate CSV files by first exporting each table to a XML format files, then saving such files in CSV format. It takes one minute to do that.

Once you have the two csv files, run this script and read the results from the "Expert" tab in the Metatrader 5 terminal. Examples are given below.


Approach

The software processes two CSV files: one containing optimization results (back test) and the other containing forward testing results. It selects parameter sets based on user-defined criteria and calculates the Pareto front, which represents the optimal trade-offs between different performance metrics. The results are printed in the Expert Tab of the MetaTrader platform.


Input Parameters

The software accepts several input parameters that allow users to customize the filtering criteria for selecting Pareto points. Below is a detailed description of each parameter:

Parameter

Type

Default Value

Description

MINPROFIT

double

1000

Minimum profit accepted for the optimization results.

FlagMinProfit

bool

true

Activates the minimum profit filter.

MAXDD

double

10

Maximum relative equity draw down accepted in percentage.

FlagMaxDD

bool

true

Activates the maximum draw down filter.

MINRF

double

2

Minimum recovery factor accepted.

FlagMinRF

bool

true

Activates the minimum recovery factor filter.

MINSR

double

2

Minimum Sharpe ratio accepted.

FlagMinSR

bool

false

Activates the minimum Sharpe ratio filter.

MINPF

double

1.5

Minimum profit factor accepted.

FlagMinPF

bool

false

Activates the minimum profit factor filter.

Ofile

string

"optimization.csv"

Name of the optimization results CSV file (must be located in MQL5/Files).

Ffile

string

"forward.csv"

Name of the forward results CSV file (must be located in MQL5/Files).

Output

Upon execution, the software will produce the following outputs:

    1. Filtered Results: The software filters the optimization and forward results based on the specified input parameters. If no rows meet the criteria, a message will indicate that no results were found.

    2. Pareto Front Points: The software calculates and prints the Pareto front points, which include:

        ◦  oProfit: Optimization profit.

        ◦  fProfit: Forward profit.

        ◦  oDD%: Optimization draw down percentage.

        ◦  fDD%: Forward draw down percentage.

        ◦  oRF: Optimization recovery factor.

        ◦  fRF: Forward recovery factor.

        ◦  oSR: Optimization Sharpe ratio.

        ◦  fSR: Forward Sharpe ratio.

        ◦  oPF: Optimization profit factor.

        ◦  fPF: Forward profit factor.

        ◦  f/o_profit: Ratio of forward profit to optimization profit.

        ◦  CustomObjForward: Custom object from forward results.

        ◦  CustomObjOpt: Custom object from optimization results.

        ◦  pass#: Pass number associated with the results.

          

    3. Summary: A summary of the number of points on the Pareto front will be printed, along with the metric criteria used.


Usage Instructions

    1  Prepare CSV Files: Ensure that the optimization and forward results CSV files are created manually and placed in the MQL5/Files directory.

        1.1  Go to the “Optimization Results” tab

        1.2  Right click on the table and select “Export to XML”

        1.3  Save the file with name “optimization.xml”. Make sure the file is save in the folder MQL5/Files.

        1.4  Repeat 1.1, 1.2 and 1.3 on the “Forward Results” tab

        1.5  Open the optimization.xml file with a spread sheet app (like Excel) and save the file as a CSV (comma separated values) file with the same name “optimization.csv”

        1.6  Repeat 1.5 on the forward.xml file.

           

    2  Set Input Parameters: Run the script, and adjust the input parameters as needed to filter the results according to your trading strategy. The more restrictive the filters are, the less parameter set you will get in the results.

       

    3  Review Results: Analyze the printed Pareto front points and summary to make informed trading decisions.

        3.1  If you get no results, you need to relax the requirements you set in the input parameters for OPS. You may de-activate some of the metrics too.

        3.2  If you get too many parameter sets, your requirements need to be tighten in the input parameters for OPS. You may activate more metrics too.


Input parameters for OPS:


OPS Results (look inside the Expert Tab)