Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / IoT / Raspberry-Pi

How to Turn a Raspberry Pi into a Crypto Trading Bot

5.00/5 (1 vote)
7 Jan 2021CPOL2 min read 16.9K  
A quick tutorial to set up a Pi as a backend service for trading cryptocurrencies with open-source software
This tutorial goes through the steps required to install the open-source software that deals with mining data from a crypto exchange, run backtests, and run live trading sessions. The key teaching focuses on setting up the Raspberry Pi the smart way to optimize the use of the limited resources by avoiding running the software GIU on the Pi itself, instead, providing the solution to run the GIU from a regular machine on the Local Area Network.

This is what you'll need for this cool Pi project:

  • Raspberry Pi 2GB RAM ($40) - If you plan to run long (multi-year) backtests, you will likely need the 4GB or 8GB version (2 GB is enough for shorter backtests and trading live).

  • Flash-card, 16Gb ($7)

  • Raspberry Pi OS / Raspbian / Ubuntu ($0, open-source)

  • Node.JS ($0, open-source)

  • Git ($0, open-source)

  • Superalgos (0$, open-source)

I'll assume your Raspberry is fully set up with the native OS or Ubuntu. If it's not, just follow the manufacturer's instructions.

Let's get on with the rest of the software set up:

  1. Download and install Node.JS.

  2. Download and install Git.

  3. Download and install Superalgos.

You don't want to run the Superalgos GUI on your Raspberry… the 2GB RAM version won't be able to cope with it.

Quote:

The clever setup is to use the Pi as a backend service that you access from your regular machine's browser.

So, run Superalgos with the noBrowser option. If your Pi is less than 8GB RAM, then add minMemo too:

node run minMemo noBrowser

The command will start Superalgos backend servers on your Pi!

Then, open Chrome on your regular machine to access the Superalgos backend web server. You will go to the Raspberry on port 34248. Like this:

<a href="http://raspberrypi:34248" rel="noopener nofollow">http://raspberrypi:34248</a>

Once in, click Stop on the Welcome tutorial, right-click to open the design space map, and click on the Network hierarchy. Expand the hierarchy (plus button on the menu) and find the Network Node.

Image 1

Right-click to open the design space map!

Now, access the configuration of the Network Node (select Configure on the menu) and change the host by typing your Raspberry's IP address:

JavaScript
{
"host": "RaspberryIPNumber",
"webPort": "34248",
"webSocketsPort": "18041"
}

Exit the configuration by withdrawing the mouse pointer from the configuration bubble. The GIU will auto-connect in less than a minute, and you are ready to go!

You can also do the configuration of the Network Node while following the Welcome tutorial.

Get Up to Speed

If you are not familiar with Superalgos, then right-click to open the design space map again, and click on the Welcome tutorial hierarchy on the bottom-left corner, open the menu, and click Resume.

The tutorial will take you through all the basics and help you run your first data-mining operation, your first backtest using a demo trading system, and even your first live trading session on Binance.

Once you go through the first experience, you may learn to design your own strategies or use the ones shared by the Community.

Image 2

The set up you just created is the minimum expression of a trading farm. If you have more Raspberries, or even old laptops or desktops gathering dust in the closet, pull them out, and set them up as new nodes on the Network!

A trading farm setup may run distributed and coordinated tasks across multiple machines, and each machine may run as many trading sessions as the hardware can cope with!

History

  • 13th November, 2020: Initial version

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)