Skip to content

A professional, modular forex trading bot with advanced risk management, multiple strategies, portfolio mode, and comprehensive backtesting capabilities.

License

Notifications You must be signed in to change notification settings

VoxHash/ForexSmartBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ForexSmartBot - Professional Forex Trading Bot

License: MIT Python 3.10+ PyQt6 Version

A professional-grade desktop application for automated forex trading with advanced risk management, multiple trading strategies, and real-time portfolio monitoring.

✨ Features

πŸš€ Core Functionality

  • Multi-Strategy Trading: 10+ built-in strategies including ML-based approaches
  • Real-time Monitoring: Live portfolio tracking with P&L updates
  • Risk Management: Advanced risk controls with Kelly Criterion and drawdown protection
  • Multi-Broker Support: Paper trading, MT4, and REST API integration
  • Backtesting Engine: Comprehensive strategy testing with walk-forward analysis

🎨 User Interface

  • Modern UI: Clean, intuitive interface with multiple themes
  • Real-time Updates: Live data display with color-coded performance metrics
  • Responsive Design: Adapts to different screen sizes
  • Dark/Light Themes: Multiple theme options including Dracula theme

πŸ”§ Advanced Features

  • Machine Learning Strategies: Adaptive SuperTrend and Trend Flow algorithms
  • Position Management: Advanced trade management with stop-loss and take-profit
  • Portfolio Analytics: Comprehensive performance metrics and reporting
  • Data Export: Export trading data to CSV and other formats
  • Settings Management: Persistent configuration with validation

πŸ–ΌοΈ Screenshots

Main Trading Interface

Main Interface Professional trading interface with real-time portfolio monitoring

Strategy Configuration

Strategy Config Comprehensive strategy selection and configuration

🏷️ GitHub Topics

Core Technology

  • forex β€’ trading-bot β€’ forex-trading β€’ python β€’ pyqt6 β€’ desktop-application β€’ gui-application

Functionality

  • algorithmic-trading β€’ trading-strategies β€’ risk-management β€’ backtesting β€’ machine-learning β€’ real-time-trading β€’ portfolio-management

Features

  • multi-strategy β€’ multi-broker β€’ real-time-monitoring β€’ themes β€’ risk-controls β€’ data-export β€’ settings-management

Trading Strategies

  • sma-crossover β€’ rsi-reversion β€’ breakout-atr β€’ mean-reversion β€’ momentum-breakout β€’ scalping β€’ news-trading β€’ ml-strategies

Risk Management

  • kelly-criterion β€’ position-sizing β€’ drawdown-protection β€’ leverage-control β€’ stop-loss β€’ take-profit β€’ risk-limits

Data & Analysis

  • yahoo-finance β€’ historical-data β€’ technical-analysis β€’ performance-metrics β€’ trade-analytics β€’ portfolio-tracking

Platforms

  • windows β€’ macos β€’ linux β€’ cross-platform β€’ desktop-app β€’ standalone-executable

Development

  • open-source β€’ mit-license β€’ community-driven β€’ documentation β€’ api-reference β€’ contributing

πŸš€ Quick Start

Prerequisites

  • Python 3.10 or higher
  • PyQt6
  • Internet connection for real-time data

Installation

Option 1: Using pip (Recommended)

pip install forexsmartbot

Option 2: From source

git clone https://github.com/VoxHash/ForexSmartBot.git
cd ForexSmartBot
pip install -r requirements.txt
python app.py

Configuration

  1. Launch the Application: Run python app.py
  2. Configure Settings: Go to Settings β†’ General tab
  3. Select Strategy: Choose from available trading strategies
  4. Set Risk Parameters: Configure risk per trade and leverage
  5. Start Trading: Click "Connect" then "Start Trading"

πŸ“– Documentation

🎨 Themes

  • Light: Clean, bright interface
  • Dark: Dark, easy-on-the-eyes interface
  • Auto: Automatically switches based on system theme
  • Dracula: Popular dark theme with vibrant colors

πŸ“‹ Requirements

Minimum Requirements

  • Python 3.10+
  • 4GB RAM
  • 1GB free disk space
  • Internet connection
  • Windows 10, macOS 10.15, or Linux (Ubuntu 18.04+)

Recommended Requirements

  • Python 3.11+
  • 8GB RAM
  • 5GB free disk space
  • Stable internet connection
  • Windows 11, macOS 12+, or Linux (Ubuntu 20.04+)

πŸ”§ Usage

Basic Workflow

  1. Launch Application: Run python app.py
  2. Configure Settings: Set up your preferred strategy and risk parameters
  3. Connect to Broker: Choose between Paper, MT4, or REST API
  4. Start Trading: Begin automated trading with real-time monitoring
  5. Monitor Performance: Track your portfolio and adjust settings as needed

Available Strategies

  • SMA Crossover: Simple moving average crossover strategy
  • RSI Reversion: RSI-based mean reversion strategy
  • Breakout ATR: ATR-based breakout strategy
  • ML Adaptive SuperTrend: Machine learning enhanced SuperTrend
  • Adaptive Trend Flow: ML-based trend following strategy
  • Mean Reversion: Statistical mean reversion approach
  • Momentum Breakout: Momentum-based breakout strategy
  • Scalping MA: Short-term moving average scalping
  • News Trading: Event-driven trading strategy

πŸ› οΈ Development

Setting Up Development Environment

  1. Clone the Repository:

    git clone https://github.com/VoxHash/ForexSmartBot.git
    cd ForexSmartBot
  2. Create Virtual Environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install Dependencies:

    pip install -r requirements.txt
    pip install -r requirements-dev.txt
  4. Run Tests:

    pytest

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

How to Contribute

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: pytest
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ’° Support the Project

ForexSmartBot is open-source software. If you find it useful, please consider supporting the project:

Cryptocurrency Donations

Bitcoin (BTC): bc1qlykvmeqrhkpzk47r64j7gems02k2w7ytxcrmgd Ethereum (ETH): 0xC160968Def41F48e6724670063847fb6dc15Fc7e Tron (TRX): TDf4AzNz9HWyjagjP3bmAbQEKkczrGHgxr Base Chain: 0xC160968Def41F48e6724670063847fb6dc15Fc7e Polygon (MATIC): 0xC160968Def41F48e6724670063847fb6dc15Fc7e

Other Ways to Support

  • ⭐ Star the repository
  • πŸ› Report bugs and issues
  • πŸ’‘ Suggest new features
  • πŸ“– Improve documentation
  • πŸ”„ Share with the community

πŸ†˜ Support

πŸ—ΊοΈ Roadmap

See ROADMAP.md for detailed future development plans and current project status.

πŸ“Š Statistics

  • Lines of Code: 15,000+
  • Test Coverage: 90%+
  • Supported Strategies: 10+
  • Supported Brokers: 3
  • Active Contributors: 2+
  • GitHub Stars: 5+
  • Downloads: 1,000+

πŸ† Acknowledgments

πŸ“ˆ Changelog

See CHANGELOG.md for a list of changes and version history.

πŸ”— Links

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

This application is for educational and legitimate business purposes only. Users are responsible for complying with applicable laws and regulations. The developers are not responsible for any financial losses or misuse of this application.


Made with ❀️ by VoxHash

Professional-grade forex trading bot with advanced risk management and machine learning strategies.