Skip to content
/ SDP-BOT Public

A Python-based BTC-TURK cryptocurrency trading bot using machine learning and technical indicators

License

Notifications You must be signed in to change notification settings

turjay/SDP-BOT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDP-BOT: Strategic Dynamic Profits Bot

Overview

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.

Features

  • 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.

Project Structure

├── 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

Getting Started

Prerequisites

Ensure you have Python 3.8+ installed. You will also need to install the required Python packages listed in the requirements.txt file.

Installation

  1. Clone the repository:

    git clone https://github.com/turjay/sdp-bot.git
    cd sdp-bot
  2. Install the required packages:

     pip install -r requirements.txt

Usage

  1. Configure API Keys: Set up your API keys in the environment variables:
    export API_KEY="your_api_key"
    export API_SECRET="your_api_secret"
  2. Running the Bot:
    python src/main.py
  3. Backtesting:
    python tests/backtesting_usd_btc.py

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or suggestions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Disclaimer

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.

About

A Python-based BTC-TURK cryptocurrency trading bot using machine learning and technical indicators

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages