SDP-BOT is an advanced BTC-TURK cryptocurrency trading bot developed in Python, designed to analyze financial market data and execute trades based on machine learning and technical indicators. This bot is capable of backtesting strategies, evaluating market conditions, and making real-time trading decisions using a combination of machine learning models and traditional trading signals.
- Machine Learning Integration: Utilizes Decision Tree Classifiers to predict market movements.
- Technical Indicators: Implements Bollinger Bands, MACD, and RSI to generate trading signals.
- Modular Design: Structured to allow easy expansion and modification.
- Backtesting Capabilities: Allows for backtesting of trading strategies with historical data.
├── LICENSE
├── README.md
├── requirements.txt
├── .gitignore
├── .gitattributes
├── SECURITY.md
├── .github/workflows/
│ └── python-app.yml
├── src/
│ ├── api.py
│ ├── config.py
│ ├── indicators.py
│ ├── main.py
│ ├── model.py
│ ├── signal_pool.py
│ └── utils.py
├── tests/
│ └── backtesting_usd_btc.py
└── docs/
└── README.md
api.py
: Handles API interactions with the crypto exchange, including order placement and fetching market data.config.py
: Contains configuration settings and environment variable handling for API keys and endpoints.indicators.py
: Implements various technical indicators like Bollinger Bands, MACD, and RSI.main.py
: The main script that runs the trading bot, integrating various components to make trading decisions.model.py
: Contains the machine learning model and functions to train it and generate trading signals.signal_pool.py
: Manages the aggregation of different trading signals to make a final decision.utils.py
: Utility functions for balance checks and quantity formatting.backtesting_usd_btc.py
: Script for backtesting the bot's performance using historical BTC/USD data.backtesting_usd_try.py
: Script for backtesting the bot's performance using historical BTC/TRY data.machine_learning.py
: Contains the implementation and training procedures for the machine learning model, including data preprocessing, model architecture definition, training loops, and evaluation metrics for generating trading signals.testforgithub.py
: Script for github actions testing
Ensure you have Python 3.8+ installed. You will also need to install the required Python packages listed in the requirements.txt
file.
-
Clone the repository:
git clone https://github.com/turjay/sdp-bot.git cd sdp-bot
-
Install the required packages:
pip install -r requirements.txt
- Configure API Keys: Set up your API keys in the environment variables:
export API_KEY="your_api_key" export API_SECRET="your_api_secret"
- Running the Bot:
python src/main.py
- Backtesting:
python tests/backtesting_usd_btc.py
Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or suggestions.
This project is licensed under the MIT License - see the LICENSE file for details.
- LinkedIn: Türkay Kurtaran
- Instagram: turjayay
- Discord: turjay
This bot is created for educational purposes only and is not intended to be used for actual trading or financial decision-making. The creator(s) of this bot will not be held responsible for any financial losses or damages incurred by using this bot. Users should conduct their own research and consult with a financial advisor before making any investment decisions.
Note: The signals generated by this bot are based on historical data and do not guarantee future performance.