Git Product home page Git Product logo

btrader-backend-showcase's Introduction

BTrader Backend Showcase

This repository showcases some of the classes and systems of my project BTrader

BTrader is a program to create, deploy, and moderate an unlimited number of trade bots to trade on the cryptocurrency market on any coin and any time interval using limitlessly expandable trading strategies. Deployed on a server running 24/7, It has made more than 250 successful trades so far for my personal use and is cleansed of any bugs as far as I've explored.

As for now, I am not comfortable with sharing my full work on the internet as open source. I believe this much of the codebase should be enough to satisfy some of the curiosity of people who want to build a similar project while also showcasing my skills. While systems in this repository are fully functional, they are only a part of the bigger system and therefore incomplete without it.

The repository contains the following:

  • Flask app connecting backend and frontend in app.py.
  • The bTrader class to handle real-time trading on the market in btrader.py. double-layered Asynchronicity and multithreaded architecture.
  • The strategy interface and two strategy implementations with both real-time and backtesting classes.
  • Structures of environment variables.
  • Frontend examples.

Some of the missing parts in this repository:

  • Client connections handling to authorize and trade using a cryptocurrency exchange.
  • Bigger structure to moderate multiple traders from the user interface and backend.
  • Backtesting.
  • Frontend.
  • Log handling.
  • Market history.
  • Serving of the flask app.
  • And more.

You can find the original Readme.md below







BTrader-Extended

Overview

This project uses Binance API to trade crypto in real-time using technical analysis. And gives the option to backtest the strategies using backtrader. Any amount of traders can be deployed with any pair/interval/strategy. It also supports the development of new trading strategies. The Program is running a Flask application with user-friendly UI and has a quick trading option with lightweight-charts implemented

Features

  1. Trade With Multiple Trade Bots At The Same Time Using Different Strategies.

  2. Backtest The Strategies On Whichever Trading Pair and Trade Interval You Want.

  3. Quick Trade Your Assets On All Trading Pairs.

  4. Do It All In A User-Friendly Interface.

Installation

  1. Clone the repository:

    git clone https://github.com/BeratDM/BinanceTrader-Extended.git
    cd BinanceTrader-Extended
  2. Set up a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install the required Python packages:

    pip install -r requirements.txt

Usage

  1. Environment Setup: Create your .env file at ./app/.env with your API keys using ./app/.env.template.

  2. Run The Program: Go to the ./app folder and run main.py. Make sure you are using the virtual environment if you set it up. A flask application will start and you can visit the url in your browser.

  3. Strategy Development: New trading strategies can be developed inside the app/TradeStrategies/ folder by making a new Python file for your strategy and creating two classes, one for backtesting subclassing the backtrader.Strategy class, and the other for live trading subclassing the bStrategy class. After that, edit the app/strategy_manager.py and your .env files similarly to the examples to reference your classes.


Disclaimer: This project is developed for personal purposes. Trading and investing involve significant risks, and using this software does not guarantee any profits. Please conduct thorough testing and research before deploying any trading strategy.

btrader-backend-showcase's People

Contributors

beratdm avatar

Stargazers

 avatar Enes Sadık Özbek avatar

Watchers

 avatar

Forkers

webclinic017

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.