GoCryptoTrader Documentation

repository·master·Indexed 25 days ago

https://github.com/thrasher-corp/gocryptotrader

A cryptocurrency trading bot written in Golang that provides a unified API for interacting with multiple cryptocurrency exchanges via REST and Websocket interfaces. It includes a backtesting framework with a GRPC server, a command-line interface (btcli), portfolio management, and support for various data retrieval methods including API, database, CSV, and live data.

Tokens
119.9K
Snippets
234
Records
661
Agent score
82%

What's inside GoCryptoTrader

  1. Overview of the Backtester Risk package

    master

    The Risk package is a component of the GoCryptoTrader Backtester responsible for preventing orders that exceed defined risk thresholds. It acts as a safety layer to ensure that no order is executed if it is deemed too risky based on current parameters.

    Currently, risk management is enforced through the following constraints:

    • Leverage Limits: Prevents orders from having excessive leverage for an individual order.
    • Portfolio Leverage: Ensures the combined leverage of all orders in the portfolio does not exceed allowed limits.
    • Currency Concentration: Limits the number of orders allowed for an individual currency.

    Note: This package is under active development. You can track planned features and progress on the GoCryptoTrader Kanban board.

  2. Overview of the GoCryptoTrader Stats package

    master

    The stats package is a component of the GoCryptoTrader codebase designed to service the exchanges package. It provides analytical data and sorting capabilities for enabled exchanges.

    Current capabilities include:

    • Sorting exchanges by largest volume.
    • Sorting exchanges by the best price for a specific currency.

    Note: This package is currently under active development.

  3. Overview of Backtester Strategy Examples

    master
    The strategyexamples package provides a collection of pre-configured strategy files (.strat) for the GoCryptoTrader Backtester. These examples demonstrate different ways to source data (API, CSV, Database, Trades), handle multiple currencies, and implement various trading logics like Dollar Cost Averaging (DCA) or Relative Strength Index (RSI) signals.
  4. Overview of the Backtester Report package

    master

    The report package is a component of the GoCryptoTrader Backtester designed to generate analytical outputs in the results folder.

    As the backtester runs, it tracks various statistics and purchase events. The report package processes these events to render an HTML-based report, allowing users to easily compare strategies and evaluate historical effectiveness.

    The generated reports utilize:

    • Go templating
    • MDBootstrap for styling
    • TradingView's lightweight-charts for data visualization.