Create and Test Forex Strategies
* Using static resources * A predefined strategy structure
Express Generator requires Node.js.
Please install the latest version of Node.js from its website: https://nodejs.org/en/
Command: node ./bin/fetch
- download historical data and FX rates.
Options:
—symbol EURUSD GBPUSD
- download the given symbols from the Premium Data Feed.—fx-rates
- update the forex exchange ratesYou can download historical data or FX rates, or both together.
Example:
node ./bin/fetch --symbol EURUSD GBPUSD --fx-rates
Command: `node ./bin/gen`
Options:
* –settings ./my-settings.ini
- specify settings to override the master settings.
* –data ./data/premium/EURUSD_M30.json
- specify a data file.
* –input ./old-collection.json
- input Collection. It is used when we want to recalculate an old Collection.
* –output ./new-collection.json
- specified output collection file. If it is not given, ExGen uses a generic name.
You can use options to override the settings. All settings parameters can be used as options also.
Examples:
Use default DataSet and Settings.
The default data file is defined in ./system/settings.master.ini
.
Produce a Collection with a generic name.
node ./bin/gen
Specify the DataSet.
Use default Settings: ./system/settings.master.ini
.
Produce a Collection with a generic name.
node ./bin/gen --data ./data/premium/EURUSD_M30.json
Specify the DataSet and Settings. Produce a Collection with a generic name.
node ./bin/gen --data ./data/premium/EURUSD_M30.json --settings ./my-settings.ini
Specify the DataSet, the Settings, and the output collection name.
node ./bin/gen --settings ./my-settings.ini ^ --data ./data/premium/EURUSD_M30.json ^ --output ./new-collection.json
The parameters are the same as above, but we give an input collection.
node ./bin/gen --settings ./my-settings.ini ^ --data ./data/premium/EURUSD_M30.json ^ --input ./old-collection.json ^ --output ./new-collection.json
We calculate multiple collections in three ways:
- Give multiple collections to the –input
option
node ./bin/gen --settings ./my-settings.ini ^ --input ./old-collection-1.json ./old-collection-2.json ./old-collection-3.json ^ --output ./new-collection.json
- Use multiple `–input` options
node ./bin/gen --settings ./my-settings.ini ^ --input ./old-collection-1.json ^ --input ./old-collection-2.json ^ --input ./old-collection-3.json ^ --output ./new-collection.json
- Give a collection folder to the –input
option.
We can override each setting parameter from the settings files with an option. It is a good idea to remove the Generator limitations when recalculating strategies.
node ./bin/gen --settings ./my-settings.ini ^ --input ./collection ^ --output ./new-collection.json ^ --max-calculated-strategies 0 ^ --max-asceded-strategies 0 ^ --max-working-minutes 0
We set the output collection path with the `–output` option or the `output` parameter in a settings file.
We can use either a static name as `./collection/ma-collection.json` or predefined placeholders, which will be set by the Generator.
Example: output = ./collections/Coll_[SERVER]_[SYMBOL][PERIOD]_[YEAR]-[MONTH]-[DAY]_str_[COUNT].json
It may produce a collection like this: Coll_Premium_Data_EURUSD30_2022-08-23_str_83.json
.
Available placeholders:
[SERVER] - Data source [SYMBOL] - Symbol [PERIOD] - Data period [YEAR] - The Year of the last data bar [MONTH] - The Month of the last data bar [DAY] - The Day of the month of the last data bar [HOUR] - The hour of the last data bar [MINUTE] - The Minute of the last data bar [COUNT] - Count of strategies.
* Open a position at Bar Open * Close a position at Bar Open for EA Studio or at Bar Close for FSB Pro * A strategy has 1-3 entry slots and 0-2 exit slots * The first entry slot has a “single” logic rule * The rest entry slots have “continues” logic rules * The exit slots have “continues” logic rules