39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
[← Utils](../README.md)
|
|
|
|
# Utils/SetFiles
|
|
|
|
Programmatic generation and editing of MetaTrader `.set` files (the parameter files used to run/optimize EAs).
|
|
|
|
## Main features
|
|
- Build a `.set` file from scratch, line by line, with typed parameters: number, real, bool, enum, datetime, color (`CSetFile.AddParamLine*`).
|
|
- Load an existing `.set` file and modify specific parameter values or optimization ranges (`InitByFile`, `ModifyParamValue*`, `ModifyParamOpt*`).
|
|
- Insert lines at a specific position, remove lines, and export back to string or file (`InsertParamLine*`, `RemoveLine`, `Save`, `GetAsString`).
|
|
- Print/debug helpers for inspecting the current parameter table (`Imprimir`, `Summary`).
|
|
|
|
## Basic usage
|
|
```mql5
|
|
void OnStart()
|
|
{
|
|
CSetFile sf;
|
|
sf.Init("BotSimple");
|
|
sf.AddParamLineNumber("InpMagic", 100, 100, 1, 999);
|
|
sf.AddParamLineReal("InpRisk", 1.0, 2, 0.1, 0.1, 10.0);
|
|
sf.AddParamLineBool("InpUseFilter", false);
|
|
sf.AddParamLineDatetime("InpStartDate", D'2024.01.01', D'2020.01.01', 86400, D'2025.12.31');
|
|
sf.AddParamLineColor("InpLineColor", clrRed);
|
|
|
|
sf.ModifyParamValueNumber("InpMagic", 999);
|
|
sf.ModifyParamValueRealNumber("InpRisk", 5.5, 2);
|
|
sf.ModifyParamValueBoolean("InpUseFilter", true);
|
|
sf.ModifyParamValueDatetime("InpStartDate", D'2025.06.01');
|
|
sf.ModifyParamValueColor("InpLineColor", clrBlue);
|
|
|
|
sf.ModifyParamOptDatetimeStart("InpStartDate", D'2023.01.01');
|
|
sf.ModifyParamOptDatetimeStep("InpStartDate", 3600);
|
|
sf.ModifyParamOptDatetimeStop("InpStartDate", D'2026.01.01');
|
|
|
|
sf.Imprimir();
|
|
}
|
|
```
|
|
|
|
> Only the most representative methods are shown here.
|