|
1 | | -# traid |
2 | | -ML-based crypto trading simulator |
| 1 | +<p align="center"> |
| 2 | + <br /> |
| 3 | + <a href="https://github.com/codistry-software/traid"> |
| 4 | +<img src="https://raw.githubusercontent.com/codistry-software/traid/main/docs/logo" width="200px" alt="TRAID Logo"> </a> |
| 5 | +</p> |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + High-performance cryptocurrency trading bot with technical analysis and multi-coin trading strategies |
| 9 | +</p> |
| 10 | + |
| 11 | +<p align="center"> |
| 12 | + <a title="MIT License" href="LICENSE"> |
| 13 | + <img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /> |
| 14 | + </a> |
| 15 | + <a title="Python Version" href="https://www.python.org/downloads/"> |
| 16 | + <img src="https://img.shields.io/badge/python-3.9%2B-blue" alt="Python 3.9+" /> |
| 17 | + </a> |
| 18 | + <a title="Test Coverage" href="https://github.com/yourusername/traid/actions"> |
| 19 | + <img src="https://img.shields.io/badge/coverage-95%25-brightgreen" alt="95% Test Coverage" /> |
| 20 | + </a> |
| 21 | + <br /> |
| 22 | + <br /> |
| 23 | + <br /> |
| 24 | +</p> |
| 25 | + |
| 26 | +## What is TRAID? |
| 27 | + |
| 28 | +TRAID is a high-performance cryptocurrency trading bot that leverages technical analysis to identify trading opportunities across multiple exchanges. It supports both single-coin focused trading and dynamic multi-coin trading strategies, automatically switching between assets based on market conditions and opportunities. |
| 29 | + |
| 30 | +```bash |
| 31 | +# Install dependencies |
| 32 | +pip install -r requirements.txt |
| 33 | + |
| 34 | +# Run the bot |
| 35 | +python -m traid.main |
| 36 | + |
| 37 | +# Listening to market data and executing trades |
| 38 | +``` |
| 39 | + |
| 40 | +## Features |
| 41 | + |
| 42 | +- **Real-time Market Analysis**: WebSocket connections to Kraken for live price and volume data |
| 43 | +- **Technical Indicators**: RSI, Moving Averages, and Volume analysis |
| 44 | +- **Trading Modes**: |
| 45 | + - Single-coin mode: Focus on a specific trading pair (e.g. BTC/USDT) |
| 46 | + - Multi-coin mode: Dynamically switch between coins based on opportunity scoring |
| 47 | +- **Opportunity Scoring**: Proprietary 0-100 scoring system to rank trading opportunities |
| 48 | +- **Risk Management**: Position sizing, stop-loss, and balance allocation safeguards |
| 49 | +- **Comprehensive Reporting**: Detailed trading session statistics and performance tracking |
| 50 | + |
| 51 | +## Installation |
| 52 | + |
| 53 | +### Prerequisites |
| 54 | + |
| 55 | +- Python 3.9 or higher |
| 56 | +- pip package manager |
| 57 | + |
| 58 | +### Installation Steps |
| 59 | + |
| 60 | +1. Clone the repository: |
| 61 | + ```bash |
| 62 | + git clone https://github.com/codistry-software/traid.git |
| 63 | + cd traid |
| 64 | + ``` |
| 65 | + |
| 66 | +2. Install dependencies: |
| 67 | + ```bash |
| 68 | + pip install -r requirements.txt |
| 69 | + ``` |
| 70 | + |
| 71 | +3. Run the bot: |
| 72 | + ```bash |
| 73 | + python -m traid.main |
| 74 | + ``` |
| 75 | + |
| 76 | +## Usage |
| 77 | + |
| 78 | +When you start the bot, you'll be prompted to: |
| 79 | + |
| 80 | +1. Enter your initial portfolio value in USDT |
| 81 | +2. Select a trading mode: |
| 82 | + - Single-coin mode (focused on BTC/USDT) |
| 83 | + - Multi-coin mode (analyzes all available trading pairs) |
| 84 | + |
| 85 | +The bot will then: |
| 86 | +- Connect to Kraken's WebSocket API |
| 87 | +- Fetch historical market data |
| 88 | +- Calculate initial opportunity scores |
| 89 | +- Begin trading based on technical signals |
| 90 | +- Provide real-time portfolio updates |
| 91 | + |
| 92 | +Example output: |
| 93 | +``` |
| 94 | +🚀 Trading Bot initialized in MULTI-coin mode |
| 95 | +👀 Monitoring 25 trading pairs (stablecoins excluded) |
| 96 | +💰 Initial balance: 1000.00 USDT |
| 97 | +
|
| 98 | +🔥 Initial Top Trading Opportunities: |
| 99 | + SOL/USDT: Score 78/100 |
| 100 | + ETH/USDT: Score 65/100 |
| 101 | + BTC/USDT: Score 62/100 |
| 102 | +
|
| 103 | +🎯 Selected SOL/USDT as initial trading target |
| 104 | +💰 Allocated 800.00 USDT to SOL/USDT |
| 105 | +
|
| 106 | +✅ Trading bot is now active |
| 107 | +``` |
| 108 | + |
| 109 | +## Project Structure |
| 110 | + |
| 111 | +``` |
| 112 | +traid/ |
| 113 | +├── __init__.py |
| 114 | +├── trading_bot.py # Core trading logic |
| 115 | +├── kraken_client.py # Kraken API client |
| 116 | +└── main.py # Entry point and CLI |
| 117 | +tests/ |
| 118 | +├── __init__.py |
| 119 | +├── test_trading_bot.py |
| 120 | +└── test_kraken_client.py |
| 121 | +requirements.txt |
| 122 | +README.md |
| 123 | +LICENSE |
| 124 | +``` |
| 125 | + |
| 126 | +## Trading Strategy |
| 127 | + |
| 128 | +The default strategy uses a combination of technical indicators: |
| 129 | + |
| 130 | +- **Buy Signals**: |
| 131 | + - RSI < 35 (oversold condition) |
| 132 | + - Short MA > Long MA and RSI < 65 (uptrend confirmation) |
| 133 | + |
| 134 | +- **Sell Signals**: |
| 135 | + - RSI > 65 (overbought condition) |
| 136 | + - Short MA < Long MA and RSI > 35 (downtrend confirmation) |
| 137 | + |
| 138 | +- **Coin Selection** (multi-coin mode): |
| 139 | + - Opportunity scores (0-100) based on price action, RSI, MAs, and volume |
| 140 | + - Switches to a different coin when its score is at least 10 points higher |
| 141 | + |
| 142 | +## Contributing |
| 143 | + |
| 144 | +Contributions are welcome! Please feel free to submit a Pull Request. |
| 145 | + |
| 146 | +1. Fork the project |
| 147 | +2. Create your feature branch (`git checkout -b feature/amazing-feature`) |
| 148 | +3. Commit your changes (`git commit -m 'Add some amazing feature'`) |
| 149 | +4. Push to the branch (`git push origin feature/amazing-feature`) |
| 150 | +5. Open a Pull Request |
| 151 | + |
| 152 | +## Testing |
| 153 | + |
| 154 | +TRAID uses pytest for unit and integration testing: |
| 155 | + |
| 156 | +```bash |
| 157 | +# Run all tests |
| 158 | +pytest |
| 159 | + |
| 160 | +# Run specific test file |
| 161 | +pytest tests/test_trading_bot.py |
| 162 | + |
| 163 | +# Run with coverage report |
| 164 | +pytest --cov=traid |
| 165 | +``` |
| 166 | + |
| 167 | +All core functionality is covered by comprehensive tests, following TDD principles. |
| 168 | + |
| 169 | +## License |
| 170 | + |
| 171 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 172 | + |
| 173 | + |
| 174 | +## Disclaimer |
| 175 | + |
| 176 | +Trading cryptocurrencies involves significant risk and may not be suitable for everyone. This software is for educational purposes only and is not financial advice. Always do your own research before making investment decisions. Past performance is not indicative of future results. |
| 177 | + |
| 178 | +--- |
| 179 | + |
| 180 | +<p align="center"> |
| 181 | + Made with ❤️ from codistry |
| 182 | +</p> |
0 commit comments