project-structure.md 5.5 KB

๐Ÿ“ Project Structure

Understanding the ManualTrader codebase organization

๐ŸŽฏ Single Command Operation

python trading_bot.py  # Only command you need to run

๐Ÿ“‚ Directory Structure

ManualTrader/
โ”œโ”€โ”€ ๐Ÿš€ trading_bot.py              # MAIN LAUNCHER
โ”œโ”€โ”€ ๐Ÿ“Š trading_stats.json          # Persistent trading data
โ”œโ”€โ”€ ๐Ÿ“ .env                        # Your configuration
โ”œโ”€โ”€ ๐Ÿ“„ requirements.txt            # Python dependencies
โ”œโ”€โ”€ ๐Ÿ“„ .gitignore                  # Git ignore rules
โ”‚
โ”œโ”€โ”€ ๐Ÿ”ง src/                        # Core application modules
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ config.py                  # Configuration management
โ”‚   โ”œโ”€โ”€ hyperliquid_client.py      # CCXT-style API wrapper
โ”‚   โ”œโ”€โ”€ telegram_bot.py            # Telegram interface
โ”‚   โ””โ”€โ”€ trading_stats.py           # Statistics engine
โ”‚
โ”œโ”€โ”€ ๐Ÿ› ๏ธ utils/                      # Utilities and helpers
โ”‚   โ”œโ”€โ”€ get_telegram_chat_id.py   # Chat ID finder (main)
โ”‚   โ”œโ”€โ”€ simple_chat_id.py         # Alternative for servers
โ”‚   โ”œโ”€โ”€ demo_stats.py             # Statistics demonstration
โ”‚   โ”œโ”€โ”€ simple_bot.py             # Terminal interface
โ”‚   โ”œโ”€โ”€ strategy_bot.py           # Automated strategies
โ”‚   โ””โ”€โ”€ manual_trading_bot.py     # Legacy launcher
โ”‚
โ”œโ”€โ”€ โš™๏ธ config/                     # Configuration templates
โ”‚   โ””โ”€โ”€ env.example               # Environment template
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‹ logs/                       # Auto-created logging
โ”‚   โ”œโ”€โ”€ trading_bot_YYYYMMDD.log  # Daily bot logs
โ”‚   โ””โ”€โ”€ bot_errors.log            # Error log
โ”‚
โ”œโ”€โ”€ ๐Ÿ“– docs/                       # Documentation
โ”‚   โ”œโ”€โ”€ setup.md                  # Setup instructions
โ”‚   โ”œโ”€โ”€ project-structure.md      # This file
โ”‚   โ””โ”€โ”€ deployment.md             # Deployment guide
โ”‚
โ””โ”€โ”€ ๐Ÿ venv/                      # Python virtual environment

๐ŸŽฏ Core Files

Main Launcher

  • trading_bot.py - The only file you run
    • Auto-restart capability
    • Error handling and notifications
    • Configuration validation
    • Comprehensive logging

Core Modules (src/)

  • config.py - CCXT-style configuration management
  • hyperliquid_client.py - Enhanced API wrapper with error handling
  • telegram_bot.py - Mobile-optimized trading interface
  • trading_stats.py - Professional analytics engine

Data Files

  • trading_stats.json - Your persistent trading statistics
  • .env - Your sensitive configuration (not in git)

๐Ÿ› ๏ธ Utility Scripts

Script Purpose When to Use
get_telegram_chat_id.py Find your Telegram Chat ID Setup only
simple_chat_id.py Alternative Chat ID finder If main script fails
demo_stats.py Show sample statistics See what bot tracks
simple_bot.py Terminal interface Quick testing
strategy_bot.py Automated trading If you want automation

๐Ÿ“Š Data Flow

1. trading_bot.py (launcher)
   โ†“
2. src/config.py (load configuration)
   โ†“
3. src/hyperliquid_client.py (connect to exchange)
   โ†“
4. src/telegram_bot.py (start interface)
   โ†“
5. src/trading_stats.py (track performance)
   โ†“
6. trading_stats.json (persist data)

๐Ÿ”ง Module Details

Config Management (src/config.py)

# CCXT-style configuration
config = {
    'apiKey': 'your_private_key',
    'secret': 'your_secret_key',
    'testnet': True,
    'sandbox': True
}

API Client (src/hyperliquid_client.py)

  • CCXT-compatible initialization
  • Enhanced error handling
  • Connection testing
  • Safe parameter logging

Telegram Interface (src/telegram_bot.py)

  • Mobile-optimized UI
  • Inline keyboards
  • Order confirmations
  • Real-time notifications

Statistics Engine (src/trading_stats.py)

  • FIFO P&L calculation
  • Professional risk metrics
  • Persistent data storage
  • Performance analytics

๐Ÿ›ก๏ธ Security Features

Sensitive Data Protection

  • .env files excluded from git
  • API keys masked in logs
  • Trading data locally stored

Error Recovery

  • Auto-restart on crashes
  • Comprehensive error logging
  • Telegram error notifications

๐Ÿ“ Configuration Files

Environment Variables (.env)

# Authentication
HYPERLIQUID_PRIVATE_KEY=your_private_key_here
HYPERLIQUID_SECRET_KEY=your_secret_key_here

# Network
HYPERLIQUID_TESTNET=true

# Telegram
TELEGRAM_BOT_TOKEN=your_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
TELEGRAM_ENABLED=true

Dependencies (requirements.txt)

  • hyperliquid==0.4.66 - Exchange library
  • python-telegram-bot[webhooks]==20.7 - Telegram interface
  • python-dotenv==1.1.0 - Environment management
  • pandas==2.2.3 - Data analysis
  • numpy==2.2.6 - Numerical computing

๐Ÿ”„ Development Workflow

Testing Changes

# Test configuration
python -c "import sys; sys.path.insert(0, 'src'); from config import Config; Config.validate()"

# Test terminal interface
python utils/simple_bot.py

# Test statistics
python utils/demo_stats.py

Production Deployment

# Single command for production
python trading_bot.py

๐Ÿ“– Related Documentation

This architecture provides professional-grade reliability with simple operation! ๐Ÿš€