How I built a custom signaling bot for my crypto assets using Python and Streamlit

Using my choice of indicators, assets, dashboards (i.e. Dune Analytics), and where I wanted to receive alerts.

Björn Lapakko
5 min readAug 16, 2022
Disclaimer: This is NOT a tool for automating your asset trading activity.

At Databutton, we are not active traders but we do hold crypto assets and have fun following the market while experimenting with various indication strategies and reading up about what others are tinkering with. However, we infrequently check our Coinbase, Kraken, Binance, etc. dashboards and personal wallets so we are typically hours, days, or weeks behind market trends. Initially, to mitigate against this, we used simple notification systems to follow our favorite coins—but where is the fun in that? Instead, my colleague Trygve Karper (CEO of Databutton) took a notification system, added a layer of analysis, and signaling to then alert a channel we more regularly check—in this case, Discord or Slack.

To be more detailed, our project, Crypto Databutler uses indicators based on popular models and alerts you via signals (Buy, Sell, or Wait) according to the crypto assets you want to track. These notifications can be sent to your chosen Discord and/or Slack channel. As the tracker continuously monitors your assets, it will evaluate them against your indicators (choose one or mix and match them), and send signals to your pre-determined channels.

Out of the box, this tool is fun and handy but what is really cool, is if you have some basic Python experience you can easily copy, customize, and share this project using Databutton—I’ll describe how below.

Note: Editing is disabled in the public-facing app

The intention of creating the Crypto Databutler is to encourage you to copy and customize your own set-up—join our Discord to access the project.

Using Databutton, you have the ability and ease of use to copy, tweak, and completely rebuild the entire system to fit your interests (i.e. stocks, property, etc.) by yourself and with others. Below, I will describe how to get started and leave the predictive modeling quest to outperform all others in your trusted hands—in that journey, we salute you!

Implementation steps

Step 1: Access the project in our #share-your-project Discord channel and open it.

Step 2: Copy the Crypto Databutler project.

Step 3: Start customizing your bot to your specifications.

Crypto Databutler Features

Status

Here you can get an overview of all your asset trackers as well as your custom and default dashboard views including adding your own or others’ Dune Analytics dashboards. This is also where you can delete asset trackers.

Use any Dune Analytics embed URL to add as your signal’s dashboard view

Add Tracker

Here you can add new asset trackers. Note that all trackers by default have a simple dashboard view that will be applied. However, if you have a Dune Analytics dashboard you’d prefer to use, you can embed that with your tracker.

Signal input fields:

  • Name
  • Market (asset)
  • Indicator
  • Description
  • Dune Analytics embed URL
Tip: Enable notifications for your notifications.

Indicators

Here you’ll find all the indicators available to use with the current project. To add your own indicators, read a bit further below for instructions and a quick screen recording walkthrough.

Indicators included in the Crypto Databutler:

  1. Moving Average Convergence/Divergence (MACD)
  2. Relative Strength Index (RSI)
  3. MACD with RSI
  4. Stochastic Oscillator

You can read about the utility and limitations of each indicator in the code

Example: Indicator for MACD with RSI

How to add your own indicators

In our example project, the indicators are based on Buy, Sell, or Wait signals that are emitted through the evaluation of one function in indicators.py. To add your own logic, you need to add a new function in there — but remember to also add the decorator. Watch a brief walkthrough below.

Subscribe to our YouTube channel

Notifications

Here you can set up your Slack and/or Discord notifications. When a signal updates its recommendation, you will be notified.

Setting up your notifications

Get access to Databutton and this project when you join our Discord community—let’s be a part of shaping the future of how data applications are built.

What is Databutton?

Millions of people with domain expertise or data competence have brilliant ideas that never see the light of day. We believe that streamlining web development, infrastructure, and collaboration for these people is the key to creating data solutions that people love.

We aim to enable people to build and collaborate while still sitting in the tools where they do their best work.

Bring your Python skills and allow us to help you deploy your impactful solutions. https://www.databutton.com/

--

--