General

[general] groups the parameters that control the engine’s global execution, including the number of threads, the results directory, and the in-memory indicator cache.

This block is optional because all its keys have a default value. A strategy can only declare one [general] block.

Example

[general]
threads            = 0                  # Uses all logical cores minus one
results_directory  = "C:\\Users\\alice\\WhaleE\\results"   # ABSOLUTE path required (Windows)
cache_enabled      = true              # Enables or disables the in-memory indicator cache.
cache_budget_mode  = "percent"         # Sets the indicator cache budget mode: "off", "percent", or "mb".
cache_budget_value = 80                # Budget value associated with the selected mode. In "percent" mode, the value is between 1 and 100. In "mb" mode, it must be greater than 0.

Block parameters

ParameterDescription
threads
 Integer
 Optional
Number of threads to use for calculations. If the value is 0 or not provided, the number of threads will be the number of logical processors minus 1, with a minimum of 1.
Default value: 0
results_directory
 Text
 Optional
Absolute path to the directory where backtest results are stored. If the directory does not exist, it will be created. Each strategy will have its own subdirectory within this path. If not specified, results are stored in a “results” directory, located in the same folder as the TOML strategy file.
Default value: "results"
cache_enabled
 Boolean
 Optional
Enables or disables the in-memory indicator series cache. This cache reuses identical computations and can improve performance without impacting results.
Default value: true
cache_budget_mode
 Text
 Optional
Sets the budget mode for the indicator cache. Supported values (case-insensitive): off, percent, mb. When the budget is reached, the cache stops inserting new entries but remains readable.
Default value: "percent"
cache_budget_value
 Integer
 Optional
Budget value associated with the selected mode.
percent: percentage of total RAM, between 1 and 100.
mb: fixed budget in MB, greater than 0.
Ignored when cache_budget_mode = "off".
Default value: 80

Note: these cache options only affect the in-memory indicator cache. Market data caching (SQLite) is configured in the [database] block.