How murad24-cuper/bottrading-v2 works
XM MT5 Trading Bot is a local, single-owner trading application. Its principal workflow connects to the broker terminal, discovers and scans symbols, analyzes market data with strategy families, applies trade and risk rules, then manages orders and records outcomes. A localhost dashboard reads that recorded state and queues operator commands. The README documents these runtime stages and risk controls; the excerpts show selected market-data, strategy, dashboard, and backtest internals. The bot, scanner, executor, and database implementations were not sampled, so detailed links among them are documented rather than source-verified.
Main entry points: bot.py Bot runtime · scanner.py Symbol scanner · app.py Dashboard · research_families.py Strategy families
Components 19
Market inputs
- MT5 terminal
src/mt5_client.py - Symbol discovery
src/symbols.py - Market data
src/market_data.py
Signal analysis
- Indicators
src/indicators.py - Market features
src/features.py - Strategy families
src/strategies/research_families.py
Trading runtime
- Symbol scanner
src/scanner.py - Trade rules
src/trade_rules.py - Risk controls
src/risk.py - Order execution
src/executor.py - Bot runtime
src/bot.py - Trade database
src/db.py
Operations dashboard
- Dashboard
src/dashboard/app.py - Dashboard queries
src/dashboard/queries.py
Research and learning
- Trading brain
src/brain/live.py - Situation memory
src/brain/memory.py - Backtesting
src/backtest/engine.py - Strategy validation
src/research/validation.py
Other components
- Bot operator
Connections 20
- Bot operator → Bot runtime: starts runtime
- Bot runtime → MT5 terminal: connects to
- Bot runtime → Symbol discovery: scans symbols
- Bot runtime → Symbol scanner: runs scan
- Symbol scanner → Market data: loads bars
- Strategy families → Indicators: calculates with
src/strategies/research_families.py - Strategy families → Market features: uses features
- Symbol scanner → Strategy families: analyzes movers
- Symbol scanner → Trade rules: filters signals
- Bot runtime → Risk controls: checks exposure
- Bot runtime → Order execution: submits orders
- Bot runtime → Trade database: records trades
- Bot runtime → Dashboard: serves status
- Dashboard → Dashboard queries: reads through
src/dashboard/app.py - Dashboard queries → Trade database: reads SQLite
src/dashboard/queries.py - Dashboard → Bot runtime: queues commands
src/dashboard/app.py - Trading brain → Situation memory: uses memory
- Backtesting → Symbol scanner: reuses scan logic
src/backtest/engine.py - Backtesting → Risk controls: applies checks
src/backtest/engine.py - Strategy validation → Backtesting: evaluates results