Project file organization and directory structure
This reference explains the organization of files and directories in the auto-trading project.
auto-trading/
├── config/ # Strategy configuration templates
├── docs/ # Project documentation
├── scripts/ # Management and utility scripts
├── user_data/ # Trading strategies and local data
├── docker-launch.sh # Main bot launcher script
├── Dockerfile # Custom Docker image definition
├── requirements.txt # Python dependencies
├── .env # Your environment variables (private)
├── .env.sample # Environment variable template
├── .gitignore # Git ignore rules
└── README.md # Project overview
config/
)Contains strategy-specific configuration templates that are processed during bot startup.
config/
├── NFI-config-template.json # NostalgiaForInfinity settings
├── ReinforcedQuickie-config-template.json # ReinforcedQuickie settings
├── BbandRsi-config-template.json # BbandRsi settings
├── SMAOffset-config-template.json # SMAOffset settings
└── config-template.json # Default fallback template
${BINANCE_API_KEY}
docs/
)Organized educational documentation structure:
docs/
├── getting-started.md # Main entry point for new users
├── concepts.md # Trading concepts and background
├── setup/ # Setup guides
│ ├── requirements.md # Environment and technical setup
│ ├── binance.md # Exchange account configuration
│ └── telegram.md # Notification bot setup
├── usage/ # Operational guides
│ ├── launching.md # Starting and managing strategies
│ ├── monitoring.md # Performance tracking and analysis
│ └── strategies.md # Strategy details and configuration
└── reference/ # Technical reference
├── project-structure.md # This file - project organization
├── configuration.md # Detailed configuration options
└── troubleshooting.md # Common issues and solutions
scripts/
)Management and utility scripts for system operation:
scripts/
├── setup-proxy.sh # Initialize Binance rate-limiting proxy
├── monitor-proxy.sh # Check proxy health and performance
├── monitor-bots.sh # Monitor all running trading bots
├── backup.sh # Backup trading databases and configs
├── update-strategies.sh # Update strategy code from repositories
└── check-resources.sh # System resource monitoring
setup-proxy.sh
monitor-bots.sh
backup.sh
update-strategies.sh
user_data/
)Contains strategy code and serves as template for bot data directories:
user_data/
├── strategies/ # Trading strategy Python files
│ ├── NFI.py # NostalgiaForInfinity strategy
│ ├── ReinforcedQuickie.py # Quick momentum strategy
│ ├── BbandRsi.py # Bollinger Bands + RSI strategy
│ ├── SMAOffset.py # Simple moving average strategy
│ ├── berlinguyinca/ # Additional strategy collection
│ ├── futures/ # Futures trading strategies
│ └── lookahead_bias/ # Research/experimental strategies
├── data/ # Market data (when downloaded)
├── logs/ # Bot operation logs
└── notebooks/ # Jupyter notebooks for analysis
When bots are running, each strategy creates isolated data directories:
/your-data-directory/ # Defined by DATA_DIR in .env
├── NFI/ # NFI strategy instance
│ ├── config.json # Processed configuration
│ └── user_data/
│ ├── data/ # Downloaded market data
│ ├── logs/ # Strategy-specific logs
│ │ └── freqtrade-NFI.log
│ └── tradesv3-NFI.sqlite # Trade database
├── ReinforcedQuickie/ # Quickie strategy instance
│ ├── config.json
│ └── user_data/
│ ├── data/
│ ├── logs/
│ │ └── freqtrade-ReinforcedQuickie.log
│ └── tradesv3-ReinforcedQuickie.sqlite
└── ...
docker-launch.sh
Main script for launching trading strategies:
Dockerfile
Custom Docker image definition:
.env
File Structure# Binance API Configuration
BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_here
# Telegram Notifications (Optional)
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id
# Web Interface Access
WEB_USERNAME=admin
WEB_PASSWORD=your_secure_password
WEB_PORT=8101
# Data Storage Location
DATA_DIR=/path/to/your/trading-data
# Ensure scripts are executable
chmod +x docker-launch.sh
chmod +x scripts/*.sh
.env
: Contains API keys - never commit to version controluser_data/strategies/
config/
(optional)config/
directoryscripts/
directorychmod +x scripts/your-script.sh
tradesv3-*.sqlite
files.env
file (store securely)# Use provided backup script
./scripts/backup.sh
# Manual backup example
tar -czf backup-$(date +%Y%m%d).tar.gz \
config/ .env user_data/strategies/ \
/your-data-directory/*/user_data/tradesv3*.sqlite
Explore specific aspects: