Advanced cryptocurrency pair analysis and ranking tool for Freqtrade trading bot
- Overview
- Features
- Installation
- Quick Start
- Usage
- Configuration
- Output
- Troubleshooting
- Development
- Contributing
Freqtrade Pair Analyzer Pro is a sophisticated analysis tool that evaluates cryptocurrency trading pairs using multiple technical indicators and market metrics. It helps traders identify the most promising pairs for their Freqtrade strategies by analyzing:
- Volatility patterns - Risk and opportunity assessment
- Trend strength - Market momentum analysis using ADX
- Volume characteristics - Liquidity and market interest
- Technical indicators - Coral Trend and Schaff Trend Cycle
- Composite scoring - Weighted ranking system
- Multi-timeframe support (1m to 1w)
- Parallel processing for fast analysis
- Comprehensive technical indicator calculations
- Data quality validation and filtering
- Weighted composite scoring system
- Customizable ranking criteria
- Top performers and least volatile pairs identification
- Statistical summary reports
- Automatic data downloading via Freqtrade
- Intelligent configuration detection
- Comprehensive error handling and logging
- Modular, extensible design
- Detailed JSON reports with metadata
- Terminal-based results summary
- Historical analysis tracking
- Export capabilities
- Python 3.8+ (recommended: 3.10+)
- Freqtrade installed and configured
- TA-Lib for technical analysis
# Using pip
pip install freqtrade[all]
# Or using conda
conda install -c conda-forge freqtradeUbuntu/Debian:
sudo apt-get update
sudo apt-get install build-essential
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib/
./configure --prefix=/usr
make
sudo make install
pip install TA-LibmacOS:
brew install ta-lib
pip install TA-Lib# Clone the repository
git clone https://github.com/Facepipe/Freqtrade-Pair-Analyser.git
cd Freqtrade-Pair-Analyser
# Install Python dependencies
pip install -r requirements.txt
# Verify installation
python test_analyzer.py# Analyze USDT pairs with default settings
python pair_analyzer.py --quote USDT
# Analyze with specific timeframe
python pair_analyzer.py --quote USDT --timeframe 1h --workers 4# Comprehensive analysis with custom parameters
python pair_analyzer.py \
--quote USDT \
--timeframe 15m \
--top-pairs 20 \
--least-pairs 10 \
--workers 8 \
--days 30 \
--verbose# Test your setup
python test_analyzer.py
# Debug configuration issues
python debug_script.py| Option | Description | Default | Example |
|---|---|---|---|
--quote |
Quote currency (REQUIRED) | - | USDT, BTC, ETH |
--timeframe |
Analysis timeframe | 1d |
1m, 5m, 15m, 1h, 4h, 1d |
--workers |
Parallel workers (1-16) | 4 |
8 |
--top-pairs |
Top pairs to show | 10 |
20 |
--least-pairs |
Least volatile pairs | 10 |
5 |
--days |
Days of data to analyze | 90 |
30, 180 |
--verbose |
Enable debug logging | False |
- |
# π― Day trading analysis (high frequency)
python pair_analyzer.py --quote USDT --timeframe 5m --days 7 --workers 8
# π Swing trading analysis (medium term)
python pair_analyzer.py --quote USDT --timeframe 1h --days 30 --top-pairs 15
# π° Long-term analysis (position trading)
python pair_analyzer.py --quote USDT --timeframe 1d --days 180 --workers 4
# π Comprehensive BTC pairs analysis
python pair_analyzer.py --quote BTC --timeframe 4h --top-pairs 25 --verboseThe analyzer automatically detects your Freqtrade configuration from:
user_data/private/config-private.json(preferred)user_data/config.jsonconfig.json~/.freqtrade/config.json
If no config is found, create a basic one:
{
"dry_run": true,
"stake_currency": "USDT",
"exchange": {
"name": "binance",
"ccxt_config": {
"enableRateLimit": true
}
},
"dataformat": "json"
}freqtrade/
βββ pair_analyzer/ # Analyzer code
β βββ pair_analyzer.py # Main script
β βββ utils/ # Utility modules
β βββ outputs/ # Analysis results
βββ user_data/
β βββ data/ # OHLCV data files
β βββ config.json # Main configuration
β βββ private/ # Private configurations
βββ strategies/ # Trading strategies
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FREQTRADE PAIR ANALYZER PRO β
β Version 2.0.0 β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β Advanced cryptocurrency pair analysis and ranking tool β
β Quote Currency: USDT β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Configuration:
Quote Currency: USDT
Timeframe: 15m
Days Analyzed: 90
Workers Used: 8
Analysis Results:
Total Pairs Processed: 847
Successful Analyses: 823
Failed Analyses: 24
Top 15 Pairs by Composite Score:
1. BTC/USDT Score: 0.847 | Vol: 0.234 | Trend: 45.2 | Volume: 18.3
2. ETH/USDT Score: 0.823 | Vol: 0.267 | Trend: 41.8 | Volume: 17.9
3. ADA/USDT Score: 0.791 | Vol: 0.312 | Trend: 38.4 | Volume: 16.2
...
Detailed analysis reports are saved to:
user_data/analysis_results/pair_analysis_v2.0.0_YYYYMMDD_HHMMSS.jsonoutputs/pair_analysis_v2.0.0_YYYYMMDD_HHMMSS.json
β "No valid pairs found"
# Check your configuration and data
python debug_script.py
# Verify exchange connection
python test_analyzer.pyβ "Import errors"
# Install missing dependencies
pip install freqtrade[all] TA-Lib pandas numpy
# Check Python path
export PYTHONPATH="/path/to/freqtrade:$PYTHONPATH"β "Permission denied"
# Fix directory permissions
chmod -R 755 user_data/
mkdir -p user_data/data user_data/analysis_results- Reduce workers if you have memory issues
- Use shorter timeframes for recent data analysis
- Limit days for faster processing
- Close other applications during analysis
pair_analyzer/
βββ pair_analyzer.py # Main entry point
βββ utils/
β βββ __init__.py # Package initialization
β βββ data_handler.py # Core analyzer logic
β βββ data_manager.py # Data downloading/management
β βββ analysis_engine.py # Technical analysis calculations
β βββ config_handler.py # Configuration management
βββ test_analyzer.py # Test suite
βββ debug_script.py # Debug utilities
βββ version_info.py # Version management
βββ outputs/ # Analysis results
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Freqtrade Team - For the excellent trading framework
- TA-Lib - For technical analysis indicators
- Community Contributors - For feedback and improvements
β If this tool helps your trading, please star the repository!