All Projects β†’ Ekliptor β†’ Wolfbot

Ekliptor / Wolfbot

Licence: agpl-3.0
Crypto currency trading bot written in TypeScript for NodeJS

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Wolfbot

Socktrader
πŸš€ Websocket based trading bot for πŸ’°cryptocurrencies πŸ“ˆ
Stars: ✭ 152 (-54.63%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, cryptocurrencies, trading, trading-strategies, trading-algorithms, exchange
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (+209.85%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trade, trading, trading-strategies, trading-algorithms
Krypto Trading Bot
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Stars: ✭ 2,589 (+672.84%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trade, trading, trading-strategies, exchange
Kupi Terminal
Ccxt based, open source, customized, extendable trading platform that supports 130+ crypto exchanges.
Stars: ✭ 104 (-68.96%)
Mutual labels:  bitcoin, cryptocurrency, trade, trading, trading-strategies, exchange
Tribeca
A high frequency, market making cryptocurrency trading platform in node.js
Stars: ✭ 3,646 (+988.36%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trade, trading, exchange
Qtbitcointrader
Secure multi crypto exchange trading client
Stars: ✭ 520 (+55.22%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, trade, trading, exchange
Gekko Strategies
Strategies to Gekko trading bot with backtests results and some useful tools.
Stars: ✭ 1,022 (+205.07%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, trading-strategies, trading-algorithms
Gnome Feeder
Profit Trailer Feeder Full Build with Settings
Stars: ✭ 122 (-63.58%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency, cryptocurrencies, trading-strategies
Kelp
Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges
Stars: ✭ 580 (+73.13%)
Mutual labels:  trading-bot, ethereum, cryptocurrency, trading, trading-strategies, trading-algorithms
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 (-39.4%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, cryptocurrencies, trading, trading-strategies
Cryptotrader
A cryptocurrency trader for all famous exchanges
Stars: ✭ 228 (-31.94%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency, trading, exchange
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (-60.6%)
Mutual labels:  trading-bot, cryptocurrency, trading, trading-strategies, trading-algorithms, exchange
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+6616.72%)
Mutual labels:  ethereum, bitcoin, cryptocurrency, trade, trading, exchange
Crypto Signal
Github.com/CryptoSignal - #1 Quant Trading & Technical Analysis Bot - 3,100+ stars, 900+ forks
Stars: ✭ 3,690 (+1001.49%)
Mutual labels:  trading-bot, ethereum, bitcoin, trading, trading-strategies
Crypto Trading Bot
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, FTX, Bybit ... (public edition)
Stars: ✭ 1,089 (+225.07%)
Mutual labels:  trading-bot, cryptocurrency, trading, trading-strategies, exchange
Machine Learning And Ai In Trading
Applying Machine Learning and AI Algorithms applied to Trading for better performance and low Std.
Stars: ✭ 258 (-22.99%)
Mutual labels:  trading-bot, bitcoin, trading, trading-strategies, trading-algorithms
Cointrol
ΰΈΏ Bitcoin trading bot with a real-time dashboard for Bitstamp.
Stars: ✭ 1,351 (+303.28%)
Mutual labels:  trading-bot, bitcoin, cryptocurrencies, trade, trading
Cated
CATEd - Cryptocurrency Analytics and Trading Engine for Django
Stars: ✭ 84 (-74.93%)
Mutual labels:  trading-bot, ethereum, bitcoin, cryptocurrency, trading
Astibot
Astibot is a simple, visual and automated trading software for Coinbase Pro cryptocurrencies (Bitcoin trading bot)
Stars: ✭ 104 (-68.96%)
Mutual labels:  trading-bot, bitcoin, cryptocurrency, trading, trading-algorithms
Algotrading
Algorithmic trading framework for cryptocurrencies.
Stars: ✭ 249 (-25.67%)
Mutual labels:  trading-bot, cryptocurrency, cryptocurrencies, trading, trading-algorithms

WolfBot

This is the source of the Crypto currency trading bot running on: https://wolfbot.org

It is written in TypeScript for NodeJS + MongoDB.

Features

  • Trading: buying + selling, portfolio management (sync balances with exchanges)
  • Margin Trading: leveraged trading including short selling and futures trading
  • Arbitrage: profit from price differences between 2 exchanges (done "on the books" with balances on both exchanges, no withdrawals from exchanges required)
  • Lending: lend your coins on the lending market of supported crypto exchanges for the highest possible interest rates
  • Backtesting: test your trade strategies in simulation on historical data
  • Web Plugins: Access social media data from Twitter, Reddit, Telegram Channels, RSS Feeds,... to trade based on news and real world events (not part of open source version yet)

Key trading advantages

  • Indicators: Over 200 technical indicators (MACD, RSI, EMA,..), candlestick pattern recognition (Doji, Tri-Star,...) of 20+ most common patterns, Fibonacci Retracements (upwards & downwards), automatic trendline (support & resistance) detection
  • Strategy events: All strategies emit buy/sell events that can be forwarded to other strategies using different candle sizes before trade execution. This gives you the ability to easily configure your bot to β€œzoom in” on candlestick chart data (for example from 12h candles trendline to 1h MACD to 10min RSI).
  • Realtime: Trades come in realtime via websocket connection from the exchange. Strategies can process (and react) on every single trade. Furthermore all indicators can be updated within the current (latest) candle as new data comes in.
  • Backtesting: Advanced automatic parameter optimization using:
    • the Cartesian product to try all permutations of given config parameters or
    • a genetic algorithm to find the most profitable config parameters within given parameter ranges

Screenshots of the Trading UI:

Trading Chart

Live Strategy data

Strategy configuration

A more detailed list of all features: https://wolfbot.org/features/

The list of supported exchanges: https://wolfbot.org/features/exchanges/

Additionally WolfBot supports over 130 exchanges using CCXT Library (no WebSockets, no margin trading).

The full strategy documentation: https://wolfbot.org/strategy-docs/

Getting Started

Requirements

NodeJS >= 12
MongoDB >= 4.0
TypeScript >= 3.5
yarn >= 1.9.4 (npm should work too, but no support given if you run into errors)
Webpack >= 4 (only for UI modifications)

Installation

git clone https://github.com/Ekliptor/WolfBot
yarn install

You can use the --production flag if you only want to run the bot and not make any code changes.

Start trading

Rename the configLocal-sample.ts file in the project root directory to configLocal.ts and add at least mongoUrl (plus some exchange API keys if you want to trade).

After running TypeScript (automatically in your IDE or run the tsc command in the project root dir) you will see a file:

build/app.js

tsc will show you some errors (due to shared code with missing types between server and client side, I will refactor this later). Just ignore these errors and make sure noEmitOnError is not set (the default) and that you have a build/ dir in the project root as well as for all packages under node_modules/@ekliptor which contain a tsconfig.json file. Use the build directory as the working directory and run:

node app.js --debug --config=Noop --trader=RealTimeTrader --noUpdate --noBrowser

The config parameter must be a JSON file from the config directory. For a list of all parameters look at the top of the app.ts file.

Docker support

To you can install WolfBot with all its dependencies using Docker:

docker-compose up

Writing your own trading strategies

There is documentation available here: https://forum.wolfbot.org/forums/strategy-development.17/

Look into the /src/Strategies folder for more examples.

Incoming trades flow diagram Outgoing trades flow diagram

Modifying the UI

In the project root directory, run:

yarn watch

You should also run the bot with the --uiDev flag so that changes to HTML template files are reloaded from disk.

The UI uses a single persistent WebSocket connection. UI related code is in the following directories:

β”œ project root
β”œβ”€β”€β”€ public <- all code shipped to the browser
β”œβ”€β”€β”€β”€β”€β”€ js <- all TypeScript code to be compiled with WebPack
β”œβ”€β”€β”€ src
β”œβ”€β”€β”€β”€β”€β”€ WebSocket <- all server-side logic to push updates to the browser
β”œβ”€β”€β”€ views <- all HTML templates

REST and WebSocket JSON APIs

If you want to connect WolfBot to your trading terminal, please take a look at the API docs.

This let's you:

  • create new cloud bot instances and earn commission for every referral (not applicable to open source version)
  • import the trades book with all trades WolfBot made via REST API call
  • subscribe to live trades via WebSocket to display them in your trading terminal
  • subscribe to live strategy data and indicator values via WebSocket

Contact

Follow me on Twitter and Memo.

No donations, I actually make money trading;)

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