Ninjabot

A fast trading bot platform for cryptocurrency in Go (Binance)
Alternatives To Ninjabot
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ccxt29,7622207410 hours ago14,316December 03, 20231,081mitPython
A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Binance Trade Bot7,367
9 days ago134gpl-3.0Python
Automated cryptocurrency trading bot
Python Binance5,493685518 days ago81August 11, 2023493mitPython
Binance Exchange API python implementation for automated trading
Binance Trading Bot4,605
2 months ago90mitJavaScript
Automated Binance trading bot - Trade multiple cryptocurrencies. Buy low/sell high with Grid Trading. Integrated with TradingView technical analysis
Krypto Trading Bot2,851
a year ago68otherC++
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Crypto Trading Bot2,688
10 months ago111mitJavaScript
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, Bybit ... (public edition)
Octobot2,4671a day ago111October 30, 202381gpl-3.0Python
Open source crypto trading bot
Binance Trader2,358
4 months ago93Python
💰 Cryptocurrency Trading Bot for Binance (Experimental)
Cryptofeed1,925268 days ago74April 02, 202163otherPython
Cryptocurrency Exchange Websocket Data Feed Handler
Blankly1,833119 hours ago112July 23, 202323lgpl-3.0Python
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Alternatives To Ninjabot
Select To Compare


Alternative Project Comparisons
Readme

Ninjabot

tests codecov Go Reference Discord Discord

A fast cryptocurrency trading bot framework implemented in Go. Ninjabot permits users to create and test custom strategies for sport and future markets.

Docs: https://rodrigo-brito.github.io/ninjabot/

DISCLAIMER
This software is for educational purposes only. Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS

Installation

go get -u github.com/rodrigo-brito/ninjabot/...

Examples of Usage

Check examples directory:

  • Paper Wallet (Live Simulation)
  • Backtesting (Simulation with historical data)
  • Real Account (Binance)

CLI

To download historical data you can download ninjabot CLI from:

  • Pre-build binaries in release page
  • Or with go install github.com/rodrigo-brito/ninjabot/cmd/ninjabot@latest

Example of usage

# Download candles of BTCUSDT to btc.csv file (Last 30 days, timeframe 1D)
ninjabot download --pair BTCUSDT --timeframe 1d --days 30 --output ./btc.csv

Backtesting Example

  • Backtesting a custom strategy from examples directory:
go run examples/backtesting/main.go

Output:

INFO[2023-03-25 13:54] [SETUP] Using paper wallet                   
INFO[2023-03-25 13:54] [SETUP] Initial Portfolio = 10000.000000 USDT 
---------+--------+-----+------+--------+--------+-----+----------+-----------+
|  PAIR   | TRADES | WIN | LOSS | % WIN  | PAYOFF | SQN |  PROFIT  |  VOLUME   |
+---------+--------+-----+------+--------+--------+-----+----------+-----------+
| ETHUSDT |      9 |   6 |    3 | 66.7 % |  3.407 | 1.3 | 21748.41 | 407769.64 |
| BTCUSDT |     14 |   6 |    8 | 42.9 % |  5.929 | 1.5 | 13511.66 | 448030.05 |
+---------+--------+-----+------+--------+--------+-----+----------+-----------+
|   TOTAL |     23 |  12 |   11 | 52.2 % |  4.942 | 1.4 | 35260.07 | 855799.68 |
+---------+--------+-----+------+--------+--------+-----+----------+-----------+

-- FINAL WALLET --
0.0000 BTC = 0.0000 USDT
0.0000 ETH = 0.0000 USDT
45260.0735 USDT

----- RETURNS -----
START PORTFOLIO     = 10000.00 USDT
FINAL PORTFOLIO     = 45260.07 USDT
GROSS PROFIT        =  35260.073493 USDT (352.60%)
MARKET CHANGE (B&H) =  407.09%

------ RISK -------
MAX DRAWDOWN = -11.76 %

------ VOLUME -----
BTCUSDT         = 448030.05 USDT
ETHUSDT         = 407769.64 USDT
TOTAL           = 855799.68 USDT
-------------------
Chart available at http://localhost:8080

Plot result

Features

Binance Spot Binance Futures
Order Market 🆗 🆗
Order Market Quote 🆗
Order Limit 🆗 🆗
Order Stop 🆗 🆗
Order OCO 🆗
Backtesting 🆗 🆗
  • [x] Backtesting

    • [x] Paper Wallet (Live Trading with fake wallet)
    • [x] Load Feed from CSV
    • [x] Order Limit, Market, Stop Limit, OCO
  • [x] Bot Utilities

    • [x] CLI to download historical data
    • [x] Plot (Candles + Sell / Buy orders, Indicators)
    • [x] Telegram Controller (Status, Buy, Sell, and Notification)
    • [x] Heikin Ashi candle type support
    • [x] Trailing stop tool
    • [x] In app order scheduler

Roadmap

  • [ ] Include Web UI Controller
  • [ ] Include more chart indicators - Details

Exchanges

Currently, we only support Binance exchange. If you want to include support for other exchanges, you need to implement a new struct that implements the interface Exchange. You can check some examples in exchange directory.

Support the project

Address
BTC bc1qpk6yqju6rkz33ntzj8kuepmynmztzydmec2zm4
ETH 0x2226FFe4aBD2Afa84bf7222C2b17BBC65F64555A
LTC ltc1qj2n9r4yfsm5dnsmmtzhgj8qcj8fjpcvgkd9v3j

Patreon: https://www.patreon.com/ninjabot_github

Popular Binance Projects
Popular Cryptocurrency Projects
Popular Economics Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Golang
Cryptography
Bitcoin
Cryptocurrency
Trading
Binance
Trading Bot
Trading Strategies