Parameters and Settings
1. Data Source Settings
These settings define the source of historical data used for strategy generation.
- server: Defines the folder in the “data” directory from which data is loaded.
Example values:Premium
,Eightcap
,BlackBull
,Darwinex
,MetaQuotes
- symbol: The financial symbol to be used for strategy generation (e.g., currency pair).
Example value:EURUSD
- period: Defines the time frame for the strategy’s data.
Possible values:M1
,M5
,M15
,M30
,H1
,H4
,D1
- data_file: Instead of using
server
,symbol
, andperiod
, you can load data directly from a file. This setting overrides the others.
Example:data_file = ./data/Premium/EURUSD_M30.json
2. Output Collection Settings
Defines how and where generated or validated strategy collections will be stored.
- output: Filename format for output collections. Supports placeholders like
[SERVER]
,[SYMBOL]
,[PERIOD]
,[YEAR]
,[MONTH]
,[DAY]
,[COUNT]
,[PROFIT]
. Example:output = ./collections/[SERVER]/[SYMBOL]/[PERIOD]/collection.json
- output_replace: When
false
, the system appends a suffix to the file if it already exists; whentrue
, it overwrites the file.
Example:output_replace = false
3. Input Collection or Directory Settings
Defines the input for validation or further generation.
- input: Points to one or several collections or a directory of collections to be validated. Example:
input = ./collections/
- input_match: Filters input collections based on text phrases. This is useful when dealing with a large collection directory.
Example:input_match = EURUSD_M30
- validate_then_generate: When set to
true
, the system validates the input strategies before generating new ones.
Example:validate_then_generate = false
- suppress_input_error: Prevents errors if the input file cannot be loaded.
Example:suppress_input_error = false
4. Collection Settings
Controls the capacity and behavior of the strategy collection.
- collection_capacity: Maximum number of strategies in a collection. Set to
0
for unlimited capacity.
Example:collection_capacity = 100
- sort_by: Specifies the metric to sort the collection by.
Possible values:NetBalance
,Profit
,ProfitFactor
,ReturnToDrawdown
,RSquared
,Stagnation
,WinLossRatio
Example:sort_by = Profit
- correlation_threshold: Threshold for correlation analysis between strategies.
Example:correlation_threshold = 0.98
- resolve_correlation: Enables detection of balance line correlations between strategies.
Example:resolve_correlation = true
- resolve_similar_rules: Detects strategies with similar trading rules.
Example:resolve_similar_rules = false
5. Generator Stop Criteria
Defines limits that stop the generator after certain conditions are met.
- max_calculated_strategies: Maximum number of calculated strategies. Set to
0
for unlimited.
Example:max_calculated_strategies = 0
- max_ascended_strategies: Maximum number of strategies allowed to ascend to the next generation.
Example:max_ascended_strategies = 0
- max_collected_strategies: Maximum number of strategies collected.
Example:max_collected_strategies = 0
- max_working_minutes: Maximum time (in minutes) the generator can run.
Example:max_working_minutes = 3
6. Acceptance Criteria
These criteria define the minimum performance metrics for a strategy to be accepted.
- max_consecutive_losses: Maximum allowable consecutive losses.
Example:max_consecutive_losses = 0
- max_drawdown_percent: Maximum allowable drawdown as a percentage.
Example:max_drawdown_percent = 0
- max_equity_drawdown: Maximum allowable equity drawdown.
Example:max_equity_drawdown = 0
- min_count_of_trades: Minimum number of trades required.
Example:min_count_of_trades = 100
- min_profit: Minimum profit required for a strategy.
Example:min_profit = 0
- min_profit_factor: Minimum profit factor required for a strategy.
Example:min_profit_factor = 0
- Additional metrics: These settings work similarly and apply to specific timeframes (M1 and Y1) or profitability factors, such as min_win_loss_ratio, min_return_to_drawdown, etc.
7. Account Settings
These parameters define the trading account configuration.
- account_currency: The base currency of the trading account.
Example:account_currency = USD
- initial_account: The starting balance of the account.
Example:initial_account = 10000
- leverage: Leverage applied to the trading account.
Example:leverage = 100
8. Strategy Properties
Defines various parameters of individual strategies.
- entry_lots: The size of the entry position in lots.
Example:entry_lots = 0.01
- trade_direction_mode: Defines the direction in which the strategy trades.
Possible values:LongAndShort
,LongOnly
Example:trade_direction_mode = LongAndShort
- opposite_entry_signal: Defines how the strategy reacts to opposite entry signals.
Possible values:Ignore
,Reverse
,IgnoreOrReverse
Example:opposite_entry_signal = Ignore
- stop_loss_usage: Defines whether to use stop loss.
Possible values:AlwaysUse
,MayUse
,DoNotUse
Example:stop_loss_usage = DoNotUse
- take_profit_usage: Defines whether to use take profit.
Possible values:AlwaysUse
,MayUse
,DoNotUse
Example:take_profit_usage = DoNotUse
9. Backtester Settings
Controls the behavior of the backtesting engine.
- exit_trade_at: Defines when to exit the trade.
Possible values:Open
,Close
Example:exit_trade_at = Open
- close_at_backtest_end: Specifies whether to close all open trades at the end of the backtest.
Example:close_at_backtest_end = true
10. Data Horizon
Controls the data range used for backtesting.
- max_data_bars: Maximum number of bars to load for backtesting.
Example:max_data_bars = 100000
- use_data_start: Defines whether to set a specific start date for the data.
Example:use_data_start = false
- data_start: Start date for the data, if applicable.
Example:data_start = "01 Jan 2020 00:00 UTC"
- Similar options: use_data_end, use_trade_start, data_end, trade_start.
11. Forward Testing
Validates strategies on unseen data for robustness.
- use_forward_testing: Enables forward testing.
Example:use_forward_testing = false
- preload_data_bars: Number of bars to preload for forward testing.
Example:preload_data_bars = 0
12. Trading Session
Controls trading session behavior.
- session_open: Defines the session opening time.
Example:session_open = 00:00
- session_close: Defines the session closing time.
Example:session_close = 24:00
13. Symbol Info
Overrides values provided by the data file.
- spread, swap_long, swap_short, commission: These parameters allow overriding specific symbol attributes like spread and commission.
14. Indicators
Controls which indicators the generator will use for composing strategies. Separate lists are provided for entry and exit indicators.
- entry_adx, entry_rsi, etc.: These boolean settings (
true
orfalse
) determine whether a particular indicator (e.g., ADX, RSI, Moving Average, etc.) is used in entry and exit conditions.
Example:entry_adx = true
15. Miscellaneous Settings
Additional settings for controlling generator behavior.
- update_best: If
true
, dynamically updates the best strategy on the console.
Example:update_best = true
- show_top: Number of top strategies to display when the generation process finishes.
Example:show_top = 0
16. Optimizer
Settings for optimizing generated strategies.
- enable_optimizer: Enables the optimizer to improve strategy performance.
Example:enable_optimizer = false
- optimize_by: Defines the performance metric used for optimization.
Example:optimize_by = Profit
17. Monte Carlo Simulation
Monte Carlo settings to validate the robustness of strategies.
- enable_monte_carlo: Enables Monte Carlo simulation.
Example:enable_monte_carlo = false
- count_of_tests: Number of Monte Carlo tests to run.
Example:count_of_tests = 20