SimpleDCABot is a simple bot that buys crypto with a dollar-cost averaging strategy.

Overview

Simple Open Dollar Cost Averaging (DCA) Bot

SimpleDCABot is a simple bot that buys crypto on a selected exchange at regular intervals for a prescribed amount in a defined period. SimpleDCABot can run entirely independently or announce each purchase via chat on Telegram.

Functionality is intentionally limited to the minimum necessary. This should make it easier to understand and verify the behavior of SimpleDCABot.

Usage

usage: bot_main.py [-h] [--json JSON] [--test]

arguments:
  -h, --help   show this help message and exit
  --json JSON  Json bot configuration.
  --test       Bot test mode. Bot will comunicate, but it will never byu anything.

Install

Please install the necessary packages before running bot.

pip install -r requirements.txt

JSON configuration

The JSON configuration contains all the necessary parameters.

Example

{
    "exchange": "coinbase",
    "crypto": "BTC",
    "fiat": "EUR",
    "amount": 10.0,
    "interval": 86400,
    "start": 10,
    "logfile": "./log.txt",
    "exchange_api": {
        "API_SECRET": "SOME_SECRET_KEY_DFDFDFASDFSDFSDFSDFSDF",
        "API_KEY": "API_KEY_VFVDFGEDFGDFGDFG",
        "API_PASSPHRASE": "PASSPHRASE_GRTEGEGRE"
    },
    "telegram_api": {
        "chat_id": "CHAT_ID_516+1464",
        "TOKEN": "TOKEN_5sdf61sd6f51"
    }
}

The meaning of variables

"exchange": Selected exchange platform. So far, only Coinbase Pro is supported. 
"crypto": Cryptocurrency to buy. 
"fiat": Selected fiat currency to spend.
"amount": How much will be spent on every purchase.
"interval": Waiting time for the next purchase in seconds.
"start": Waiting time for the first purchase in seconds.
"logfile": Path to log file.
"exchange_api": Coinbase Pro keys an passphrase for you api.
"telegram_api": Telegram token and chat id for Telegram bot. If the Telegram API is missing, it will not be used, and the bot will only log to the selected file and the terminal. 

API requirements (Coinbase Pro)

  • View
  • Trade

How to set a new CoinbasePro API (credits: seCoin3363se)

  1. Add an API key
  2. Check permitions View and Trade (do not give Transfer permission!)
  3. Set a good and long passphrase is you want to. Fill the passphrase in the config.json
  4. Set your IP in the white list (security increase)
  5. Verify the new API key
  6. Fill generated API-SECRET in the config.json as SECRET-KEY
  7. Click done (you will not see the API-SECRET anymore)
  8. Fill the generated API key (hash like string in the API list) as API-KEY

Telegram bot

Instructions on how to create your own Telegram bot and get its token can be found here: https://core.telegram.org/bots#botfather

Plans and progress

To Do

  • Kraken support
  • Binance support
  • Functionality for dollar cost averaging sell
  • Email comunication
  • AdvancedDCABot - An advanced variant of the robot enables more advanced trading strategies, such as buying a dip.

Done

  • Telegram message when order created
  • Bot will validate chat_id
  • Bot will check balance of fiat
  • Test mode

Warning

Please check the functionality of this robot. Even if the robot is under your control, never give it an API with the ability to move your fund. Check regularly that it works as you expect. I make no guarantees that the robot is error-free and will work as you expect.

You might also like...
Freqtrade is a free and open source crypto trading bot written in Python.
Freqtrade is a free and open source crypto trading bot written in Python.

Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning.

An advanced crypto trading bot written in Python
An advanced crypto trading bot written in Python

Jesse Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. Why Jesse? In short, Jesse is

This is a DCA crypto trading bot built for Binance written in Python
This is a DCA crypto trading bot built for Binance written in Python

This is a DCA crypto trading bot built for Binance written in Python. It works by allowing you to DCA at an interval of your choosing and reports back on your average buy price as well as a chart consisting of each DCA.

Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.
Free python/telegram bot for easy execution and surveillance of crypto trading plans on multiple exchanges.

EazeBot Introduction Have you ever traded cryptocurrencies and lost overview of your planned buys/sells? Have you encountered the experience that your

This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, having fun :) Creator: Marlon Zanardi
This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, having fun :) Creator: Marlon Zanardi

🚀 Space Crypto auto click bot ready-to-use 🚀 This is a free python bot program that crosses you to farm with auto click in space crypto NFT game, ha

Automate TikTok follower bot, like bot, share bot, view bot and more using selenium
Automate TikTok follower bot, like bot, share bot, view bot and more using selenium

Zefoy TikTok Automator Automate TikTok follower bot, like bot, share bot, view bot and more using selenium. Click here to report bugs. Usage Download

An automated tool that fetches information about your crypto stake and generates historical data in time.

Introduction Yield explorer is a WIP! I needed a tool that would show me historical data and performance of my staked crypto but was unable to find a

A mood based crypto tracking application.

Crypto Bud - API A mood based crypto tracking application. The main repository is private. I am creating the API before I connect everything to the ma

 Discord Crypto Payment Cards Selfbot
Discord Crypto Payment Cards Selfbot

A Discord selfbot that serves the purpose of displaying text and QR versions of your BTC, LTC & ETH payment information for easy and simple commercial or personal transactions.

Releases(v0.0.1-beta.1)
Nonebot2 简易群管

简易群管 ✨ NoneBot2 简易群管 ✨ _ 踢 改 禁 欢迎issue pr 权限说明:permission=SUPERUSER 安装 💿 pip install nonebot-plugin-admin 导入 📲 在bot.py 导入,语句: nonebot.load_plugin("n

幼稚园园长 74 Dec 22, 2022
wyscoutapi is an extremely basic API client for the Wyscout API (v2 & v3) for Python

wyscoutapi wyscoutapi is an extremely basic API client for the Wyscout API (v2 & v3). Usage Install with pip install wyscoutapi. To connect to the Wys

Ben Torvaney 11 Nov 22, 2022
DonLee Robot

🤖 𝐃𝐎𝐍 𝐋𝐄𝐄 𝐑𝐎𝐁𝐎𝐓 𝐕𝟐 🤖 👋 Hey Muhammed, Iam DonLee RoBoT Make me an admin for your group and channel then connect me.... 🎉 🙂 To build a

Muhammed 27 Dec 01, 2022
EthSema - Binary translator for Ethereum 2.0

EthSema is a novel EVM-to-eWASM bytecode translator that can not only ensure the fidelity of translation but also fix commonly-seen vulnerabilities in smart contracts.

weimin 8 Mar 01, 2022
a small cli to generate AWS Well Architected Reports on the road

well-architected-review This repo intends to publish some scripts related to Well Architected Reviews. war.py extracts in txt & xlsx files all the WAR

4 Mar 18, 2022
The Best Multipurpose Discord Bot!

Polsu The Best Multipurpose Discord Bot! • Introduction • Screenshots • Setup • License Introduction Polsu is a Multipurpose Discord Bot. Polsu has a

Polsulpicien 1 Nov 09, 2021
Bot for Telegram data Analysis

Bot Scraper for telegram This bot use an AI to Work powered by BOG Team you must do the following steps to make the bot functional: Install the requir

8 Nov 28, 2022
Python script to harvest tweets with the Twitter API V2 Academic Research Product Track

Tweet harvester Python script to scrape, collect, and/or harvest tweets with the Twitter API V2 Academic Research Product Track. Important note: In or

Thomas Frissen 2 Nov 11, 2021
Vhook: A Discord webhook spammer / deleter open source coded by vesper

Vhook_Spammer Vhook is a advanced Discord webhook spammer / deleter with embeds,

Vesper 17 Nov 13, 2022
Demonstrating attacks, mitigations, and monitoring on AWS

About Inspectaroo is a web app which allows users to upload images to view metadata. It is designed to show off many AWS services including EC2, Lambd

Alex McCormack 1 Feb 11, 2022
Most Advance Trading Bot Support Windows Linux Mac

GUI Pancakeswap 2 and Uniswap 3 SNIPER BOT 🏆 🥇 (MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC) (AUTO BUY TOKEN ON LAUNCH AFTER ADD LIQUIDITY) S

1 Dec 26, 2021
Diablo II Resurrected helper

Diablo II Resurrected 快捷施法辅助 功能: + 创建守护进程,注册全局热键 alt+/ 启用和关闭功能 (todo: 播放声音提示) + 按 x 强制移动 + 按 1 ~ 0 快捷施法到鼠标区域 使用 编辑配置 settings.py 技能信息做如下定义: SKILLS:

Wan 2 Nov 06, 2022
This Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive.

MIRROR HUNTER This Mirror Bot is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive. Repo la

anime republic 130 May 28, 2022
A BOT TO FIND ID OF A STICKER.

sticker id A BOT TO FIND ID OF A STICKER. THIS REPOSITORY HAVE TWO BRANCHES FOR DEPLOY WITH COMMAND & WITHOUT COMMAND. Mandatory variables API_ID - Ge

Ashik Muhammed 3 Dec 29, 2022
TwitterDataStreaming - Twitter data streaming using APIs

Twitter_Data_Streaming Twitter data streaming using APIs Use Case 1: Streaming r

Rita Kushwaha 1 Jan 21, 2022
🥀 Find the start of the token !

Discord Token Finder Find half of your target's token with just their ID. Install 🔧 pip install -r requeriments.txt Gui Usage 💻 Go to Discord Setti

zeytroxxx 2 Dec 22, 2021
Notion4ever - Python tool for export all your content of Notion page using official Notion API

NOTION4EVER Notion4ever is a small python tool that allows you to free your cont

50 Dec 30, 2022
Python package and CLI for user-friendly integration with SAS Viya

sasctl A user-friendly Python interface for SAS Viya. Full documentation: https://sassoftware.github.io/python-sasctl Table of Contents Overview Prere

SAS Software 30 Dec 14, 2022
A battle-tested Django 2.1 project template with configurations for AWS, Heroku, App Engine, and Docker.

For information on how to use this project template, check out the wiki. {{ project_name }} Table of Contents Requirements Local Setup Local Developme

Lionheart Software 64 Jun 15, 2022
:globe_with_meridians: A Python wrapper for the Geocodio geolocation service API

Py-Geocodio Python wrapper for Geocodio geocoding API. Full documentation on Read the Docs. If you are upgrading from a version prior to 0.2.0 please

Ben Lopatin 84 Aug 02, 2022