EDL TradeBot is an advanced automated trading bot developed using Golang. Designed to operate across multiple cryptocurrency exchanges, it supports a variety of trading strategies and offers robust features for seamless asset trading. The bot integrates key functionalities like risk management, custom strategies, and API integration with top exchanges.
This project is currently in active development. Some features may be incomplete or subject to change, and stability is not guaranteed. Use it at your own risk during this development phase.
- Multi-Exchange Support: Integrated with Binance, Coinbase, Kraken, Bybit, Pionex, and more.
- Algorithmic Trading: Implement various customizable strategies to optimize trades.
- Risk Management: Includes stop-loss, take-profit, and position-sizing features.
- Backtesting: Test strategies against historical data before live deployment.
- Modular Architecture: Clean, layered structure for easy scalability and maintenance.
- 24/7 Trading: Automates trading decisions and operates without interruption.
The project is organized into the following main packages and layers:
EDL-TradeBot/
├── cmd/ # Main application entry points
├── exchange/ # Exchange integrations
│ ├── binance/
│ ├── coinbase/
│ ├── kraken/
│ ├── bybit/
│ ├── pionex/
│ └── ... # Add more exchanges as needed
├── internal/
│ ├── database/ # Database management and storage
│ ├── backend/ # Backend services and utilities
│ ├── config/ # Configuration management
│ └── ... # Additional internal utilities
├── money/ # Money management, account balances, and handling
├── strategies/ # Custom trading strategies
│ ├── arbitrage/
│ ├── market_making/
│ ├── trend_following/
│ └── ... # Add more strategies as needed
└── README.md # Project documentationTo run the EDL TradeBot, ensure that you have Golang installed on your system.
- Clone the repository:
git clone https://github.com/EncrypteDL/EDL-TradeBot.git
- Navigate to the project directory:
cd EDL-TradeBot - Install dependencies:
go mod tidy
-
Exchange API Keys: Each exchange requires its own set of API keys for trading. Place your API keys in a configuration file located under
internal/config/:binance: apiKey: "your-binance-api-key" secretKey: "your-binance-secret-key" coinbase: apiKey: "your-coinbase-api-key" secretKey: "your-coinbase-secret-key"
-
Database Configuration: The bot requires a database for storing trade history, user data, and strategies. Configure your database connection in the
internal/database/package:database: type: "postgres" # Supported types: postgres, mysql, sqlite user: "db_user" password: "db_password" dbname: "trading_db" host: "localhost" port: 5432
-
Strategies Configuration: You can configure the trading strategies in the
strategies/package. Each strategy has customizable parameters based on your trading preferences.
To run the trading bot, use the following command:
go run cmd/main.goYou can backtest a strategy using historical market data before deploying it live:
go run cmd/backtest.go --strategy=trend_following --exchange=binanceEDL TradeBot currently supports the following exchanges:
- Binance
- Coinbase
- Kraken
- Bybit
- Pionex
More exchanges can be added as required.
The bot allows you to develop custom trading strategies and configure them in the strategies/ directory. Here are some of the provided strategies:
-
Arbitrage:
- Exploits price differences across multiple exchanges.
-
Market Making:
- Provides liquidity by placing buy and sell orders to profit from the spread.
-
Trend Following:
- Follows market trends and places trades based on momentum indicators.
We welcome contributions! Feel free to open issues, submit pull requests, or suggest new features. Ensure that your contributions align with the modular architecture of the bot.
- Fork the repository.
- Create a new branch.
- Make changes and commit them.
- Open a pull request for review.
This project is licensed under the MIT License. See the LICENSE file for more details.
For more information, contact the project lead Zakaria Saif.