Skip to content
Trading Bot for the BitShares Decentralized Exchange
Branch: master
Clone or download
Pull request Compare This branch is 1703 commits ahead of xeroc:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jun 13, 2018
dexbot Change dexbot version number to 0.11.12 Jun 17, 2019
docs Add storagedemo example from previously removed strategy Apr 3, 2019
hooks Merge branch 'master' of https://github.com/Codaone/DEXBot into easyc… May 28, 2018
tests Enable previosly xfailed test Jun 7, 2019
.gitignore Prevent bandit from arguing on assert statements May 21, 2019
.hadolint.yaml Ignore warning about versions pinning Apr 25, 2019
.readthedocs.yml Improve docs building on readthedocs Apr 3, 2019
.remarkrc Add .remarkrc May 21, 2019
.travis.yml Build docker image from Travis Apr 25, 2019
Dockerfile Add git as dependency in Dockerfile May 21, 2019
LICENSE.txt - pr feedback Apr 13, 2018
MANIFEST.in - pr feedback Apr 13, 2018
Makefile Change MakeFile Apr 10, 2019
README.md Add readthedocs bage Apr 25, 2019
appveyor.yml Update Travis and AppVeyor to use Python 3.6 Dec 31, 2018
bandit.yml Prevent bandit from arguing on assert statements May 21, 2019
cli.py Add cli.py and gui.py as shortcuts to their counterparts Apr 17, 2018
cli.spec Fix pyuic problem May 23, 2018
gui.py Add cli.py and gui.py as shortcuts to their counterparts Apr 17, 2018
gui.spec Fix windows build bug Oct 13, 2018
pyuic.json Fix windows build bug Oct 13, 2018
requirements-dev.txt Pin versions in requirements-dev.txt Apr 9, 2019
requirements.txt update websocket-client to 0.56 to be compatible with graphenelib 1.1… Jun 7, 2019
setup.cfg Add Flake8 configuration to setup.cfg Apr 9, 2019
setup.py Merge remote-tracking branch 'vvk/431-missing-tabulate' into pr-459-m… Feb 15, 2019

README.md

DEXBot

Build Status (master) Documentation Status

GUIThe Dashboard of the GUI version of DEXBot

CLIThe CLI version of DEXBot in configuration dialog

A Trading Bot provided with two very flexible Market Making strategies. Works on "vanilla" BitShares and all exchanges built upon it. Can be customized with additional strategies written in Python3.

DEXBot was paid for by the BitShares blockchain (by means of a Worker Proposal), and managed by "The Cabinet", consisting of 6 active BitShares community members. All spending was controlled by an account which requires 3/5 approvals (multisig scheme).

DEXBot can be installed from source or by using the excecutable packages for Windows, OSX, and Linux. Packages include the GUI version, but installation from source provides also the CLI version, which can be used on headless servers and Raspberry Pi's.

The provided strategies can be used to bootstrap new markets, to increase liquidity of an asset, or to try to make profits. The Relative Orders strategy is the one most think of when speaking of Market Making. In most markets it requires tweaking and active monitoring, and is most suitable for sideways markets or Arbitrage Enabling markets (between stable or otherwise equivalent assets). Staggered Orders is a "set and forget" strategy, which thrives in uncertain conditions (before price discovery or otherwise volatile conditions). It requires a long time to realize profits, but is likely to do so if it isn't touched in the mean time. It requires little monitoring and no tweaking. New markets and assets should be bootstrapped with Staggered Orders and later improved with Relative Orders.

Make sure to read strategy documentation from the wiki. Here is a step-by-step guide to get started

Does it make profit?

If you properly predict future market conditions, you can manage to make profit. All strategies rely on assumptions. The strategies that rely on less assumptions are less risky, and more risky strategies can make more profit. During long declines the effect is decreased losses - not actual profits. So we can only say that it can make profit, without forgetting that it can also make losses. Good luck.

Installing and running the software

See instructions in the Wiki for Linux, Windows, OSX. Raspberry Pi. Other users can try downloading the package or following the Linux guide.

Warning: This is highly experimental code! Use at your OWN risk!

Running in docker

By default, local data is stored inside docker volumes. To avoid loosing configs and data, it's advised to mount custom directories inside the container as shown below.

mkdir dexbot-data dexbot-config
docker run -it --rm -v `pwd`/dexbot-data:/home/dexbot/.local/share dexbot/dexbot:latest uptick addkey
docker run -it --rm -v `pwd`/dexbot-config:/home/dexbot/.config/dexbot -v `pwd`/dexbot-data:/home/dexbot/.local/share dexbot/dexbot:latest dexbot-cli configure

To run in unattended mode you need to provide wallet passphrase:

docker run -d --name dexbot -e UNLOCK=pass -v `pwd`/dexbot-config:/home/dexbot/.config/dexbot -v `pwd`/dexbot-data:/home/dexbot/.local/share dexbot/dexbot:latest dexbot-cli run

Getting help

Join the Telegram Chat for DEXBot.

Contributing

Install the software, use it and report any problems by creating a ticket.

IMPORTANT NOTE

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
You can’t perform that action at this time.