Strategy Factory is a web application designed to let you code, test and deploy your trading bots easily — all from your browser!
Code your strategies directly in the browser, with visual tools to analyze their behavior.
🔹 Built on top of Backtesting.py → If you already use this library, it will feel familiar.
Run your bots across multiple tickers and timeframes from your broker.
Put your strategy to the test with the following methods:
- Monte Carlo
- Random Test
- Luck Test
- T-Test
- Correlation Test
Put your bot to run in real time!
- Log in with your broker account on MetaTrader5
- Create and activate a virtual environment
- Run
python install_dependencies.py
- Launch the app with
python app/main.py
-
In some cases, brokers don’t use "pure" ticker names (e.g., EURUSD might be EURUSDm). In such cases, the app might fail.
-
Currently, Strategy Factory assumes the account base currency used for operations is USD.
-
The core of the application is built on the Backtesting.py library, but to implement some extra features, a fork of the project was made.
📕 https://saidjacobo.github.io/strategy_factory_core/app/backbone.html
📺 https://www.youtube.com/playlist?list=PLIS81qU4XbMc8n5pinieZsrb4K4hhutjw
Contributions are welcome and greatly appreciated! 🎉 Whether you want to report a bug, request a new feature, improve the documentation, or submit code improvements — you are more than welcome.
- Fork this repository — Click the
Fork
button at the top right. - Clone your fork
git clone https://github.com/your-username/strategy_factory.git
- Create a new branch
git checkout -b feature/your-feature-name
- Make your changes
Implement bug fixes, new features, or improvements. - Commit your changes
git commit -m "Add: description of your change"
- Push to your fork
git push origin feature/your-feature-name
- Open a Pull Request — Go to the repository and click
New pull request
.
- Follow the existing code style and structure.
- Write clear and descriptive commit messages.
- If possible, include tests for your changes.
- Document any new features or behaviors.
If you're not sure where to start, check the Issues tab for open bugs or feature requests. You can also start a discussion if you have ideas or questions.
If you find this project useful, consider giving it a ⭐ star on GitHub — it really helps!