forex software

Create and Test Forex Strategies

forex software

express-generator:settings-files

Settings Files

Express Generator uses settings files in ini format.

You can run ExGen with:

  • default settings files only
  • one custom settings file
  • several custom settings files layered in order
  • CLI overrides on top of settings files

Default settings files

Each script has a default settings file in ./bin:

  • Fetcher: ./bin/fetch.settings.ini
  • Generator: ./bin/gen.settings.ini
  • Multi-Market: ./bin/mm.settings.ini

If you do not pass –settings, the script uses only its default file.

INI format basics

An INI file is plain text with key = value lines.

  • Lines starting with ; are comments.
  • Use one setting per line.
  • For multi-value options, separate values with spaces.
  • The order of parameters inside one INI file is not important.

Example gen.ini:

; Market
symbol = EURUSD
period = H1

; Minimal Profit Factor
min_profit_factor = 1.4

Example with multiple values:

symbols = EURUSD GBPUSD USDJPY
periods = M15 M30 H1

Use one custom settings file

You can provide one user file with –settings.

node ./bin/gen.js --settings my-gen.ini

This loads:

  • default gen.settings.ini
  • then my-gen.ini (overrides defaults where keys overlap)

Use several custom settings files

You can pass several files after –settings.

node ./bin/gen.js --settings gen.ini EURUSD.ini

This is useful when you keep:

  • one common base file (for example gen.ini)
  • one market-specific file (for example EURUSD.ini)

File names are for your convenience. The important part is the order.

Priority and override order

Settings are merged in this order (lowest to highest priority):

  • default script settings file
  • first custom settings file from –settings
  • second custom settings file from –settings
  • next custom settings files (left to right)
  • CLI options (highest priority)

When there are several custom files, each next file overrides keys from the previous one. CLI options always win.

Important order rules:

  • The order of CLI options in the command is not important.
  • The order of parameters inside each INI file is not important.
  • The order of files passed to –settings is important.

Practical example

Command:

node ./bin/gen.js --symbol EURUSD --settings gen.ini EURUSD.ini --period M30

How values are resolved:

  • gen.settings.ini provides defaults
  • gen.ini overrides some defaults
  • EURUSD.ini overrides gen.ini
  • –symbol EURUSD and –period M30 override everything above

Tips

  • Keep reusable defaults in one base file and strategy or symbol specifics in separate files.
  • You can omit .ini extension in –settings values; it is added automatically when missing.
  • Use –settings for stable presets and CLI options for run-specific changes.