All Projects → rodrigo-brito → ninjabot

rodrigo-brito / ninjabot

Licence: MIT license
A fast trading bot platform for cryptocurrency in Go (Binance)

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to ninjabot

Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+261.41%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies, binance
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+6.66%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies, binance
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+42.61%)
Mutual labels:  trading, trading-bot, trading-strategies, binance
Gekko Backtesttool
Batch backtest, import and strategy params optimalization for Gekko Trading Bot. With one command you will run any number of backtests.
Stars: ✭ 203 (-80.12%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
tradingview-alert-binance-trader
This trading bot listens to the TradingView alert emails on your inbox and executes trades on Binance based on the parameters set on the TD alerts.
Stars: ✭ 153 (-85.01%)
Mutual labels:  trading, trading-bot, trading-strategies, binance
crypto-database
Database for crypto data, supporting several exchanges. Can be used for TA, bots, backtest, realtime trading, etc.
Stars: ✭ 72 (-92.95%)
Mutual labels:  crypto, trading, trading-bot, binance
MoniGoMani
Isn't that what we all want? Our money to go many? Well that's what this framework/strategy hopes to do for you! By giving you & HyperOpt a lot of signals to alter the weights from.
Stars: ✭ 868 (-14.99%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+0.1%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-89.81%)
Mutual labels:  crypto, trading, trading-strategies, binance
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+1.67%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
Benzaiboten-spot-trading-bot
A trading bot easy to use to be linked to your favorite exchange to automatize the trading on cryptocurrencies
Stars: ✭ 20 (-98.04%)
Mutual labels:  crypto, trading, trading-bot, binance
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (-85.11%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
gdax bot
gdax_bot - Micro dollar cost averaging for crypto
Stars: ✭ 57 (-94.42%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
trading sim
📈📆 Backtest trading strategies concurrently using historical chart data from various financial exchanges.
Stars: ✭ 21 (-97.94%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (-77.77%)
Mutual labels:  crypto, trading, trading-bot, trading-strategies
PancakeSwapBot
PancakeSwap prediction bot
Stars: ✭ 38 (-96.28%)
Mutual labels:  crypto, trading, trading-bot, binance
Cassandre Trading Bot
Cassandre makes it easy to create your Java crypto trading bot. Our Spring boot starter takes care of exchange connections, accounts, orders, trades, and positions.
Stars: ✭ 120 (-88.25%)
Mutual labels:  trading, trading-bot, trading-strategies, binance
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+153.57%)
Mutual labels:  trading, trading-bot, trading-strategies, binance
Siis
Trading bot including terminal, for crypto and traditionals markets. Assisted or fully automated strategy.
Stars: ✭ 45 (-95.59%)
Mutual labels:  crypto, trading, trading-bot, binance
LickHunterPRO
Cryptocurrency Trading Bot that looks for large pools of liquidity getting liquidated on margin trading, when it finds these it counter trades them!
Stars: ✭ 114 (-88.83%)
Mutual labels:  trading, trading-bot, trading-strategies, binance

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 spot 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[2021-10-31 18:13] [SETUP] Using paper wallet                   
INFO[2021-10-31 18:13] [SETUP] Initial Portfolio = 10000.000000 USDT 
+---------+--------+-----+------+--------+--------+----------+-----------+
|  PAIR   | TRADES | WIN | LOSS | % WIN  | PAYOFF |  PROFIT  |  VOLUME   |
+---------+--------+-----+------+--------+--------+----------+-----------+
| BTCUSDT |     14 |   6 |    8 | 42.9 % |  5.929 | 13511.66 | 448030.05 |
| ETHUSDT |      9 |   6 |    3 | 66.7 % |  3.407 | 21748.41 | 407769.64 |
+---------+--------+-----+------+--------+--------+----------+-----------+
|   TOTAL |     23 |  12 |   11 | 52.2 % |  4.942 | 35260.07 | 855799.68 |
+---------+--------+-----+------+--------+--------+----------+-----------+

--------------
WALLET SUMMARY
--------------
0.000000 BTC = 0.000000 USDT
0.000000 ETH = 0.000000 USDT

TRADING VOLUME
BTCUSDT        = 448030.05 USDT
ETHUSDT        = 407769.64 USDT

45260.073493 USDT
--------------
START PORTFOLIO = 10000.00 USDT
FINAL PORTFOLIO = 45260.07 USDT
GROSS PROFIT    =  35260.073493 USDT (352.60%)
MARKET (B&H)    =  407.09%
MAX DRAWDOWN    =  -11.76 %
VOLUME          =  855799.68 USDT
COSTS (0.001*V) =  855.80 USDT (ESTIMATION) 
--------------
Chart available at http://localhost:8080

Plot result:

Features:

  • Live Trading

    • Custom Strategy
    • Order Limit, Market, Stop Limit, OCO
  • Backtesting

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

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

Roadmap

  • Include Web UI Controller
  • Include more chart indicators - Details
  • Support future market - 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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].