====== Express Generator - User Guide ====== Express Generator is used to fetch historical data, generate strategy collections, and validate them on a local machine. Later, you can import collections into EA Studio for review and export Expert Advisors for MetaTrader. Express Generator (ExGen) is an excellent tool for building automated workflows for testing trading strategies. This guide helps you build a practical workflow from data download to strategy validation. Typical workflow: * Fetch and refresh market data * Generate new strategy collections * Validate existing collections on updated data * Revalidate collections across multiple markets For a guided setup, start with [[quick-start|Quick Start]]. You can use default settings from the files in ''./bin'' and override them with custom settings files or CLI options. ===== Requirements ===== * **Skills** - to have the full benefits of Express Generator (ExGen) you have to be familiar with: * algo-trading with MetaTrader's Expert Advisors * Expert Advisor Studio - to be able to export Expert Advisors * terminal commands or scripting * **NodeJS** [[https://nodejs.org/en]] - a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts. * **Expert Advisor Studio** [[https://eas.forexsb.com/]] - an online platform for creating trading strategies and Expert Advisors. ===== Benefits of using Express Generator ===== * it is a lot of fun to run Express Generator in the terminal and to see how it generates strategies * it can run in the background in a local machine or in a remote server because it does not require Graphical User Interface. * with some scripting, we can create a complete automated process for creating strategy collections for EA Studio. ===== Scripts ===== ==== Fetcher (fetch.js) ==== [[fetch-js]] Use Fetcher to maintain local metadata (Forex rates and symbol info), download historical data sets, and handle update checks. ==== Generator (gen.js) ==== [[gen-js]] Use Generator to create new strategies, validate old collections on new data, and optimize or stress-test strategy sets. ==== Multi-Market (mm.js) ==== [[mm-js]] Use Multi-Market to revalidate strategy collections on different markets and keep only strategies that pass the required number of tests.