From 3415280a3395e30bc4b43880f5fc458d8108962c Mon Sep 17 00:00:00 2001 From: olli Date: Wed, 18 Dec 2024 12:03:31 +0100 Subject: [PATCH] fixes/additional infos --- README.md | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 74ba724..3517017 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ Originally this project was supposed to be a simple script to monitor prices of Finally, it's a hobby project and I have to see how and when I can find time for it, because there also has to be time for family, friends, work and other hobbies. If there is someone who would like to rewrite this bot in e.g. Python, I would be happy to support them as best I can with this task. Just let me know. -## How to use/install (basic Linux knowledge required!) +## How to install (basic Linux knowledge required!) Should run on every system with docker. @@ -135,7 +135,7 @@ Tested and running with Debian 12 (Bookworm). https://www.debian.org/download https://www.raspberrypi.com/software/operating-systems/ -### 2: Run Ansible Playbooks +### 2: Way 1: Istall via anssible playbooks On a fresh Debian 12 system you can run my Ansible Playbooks to use the same environment the bot is developed and running. Please have a look what exactly the playbooks are doing if you are unsure. @@ -183,21 +183,30 @@ If you run this as user and not as root, the script will install sudo and enable ``` bash install.sh ``` -### Download + +### 3. Manual installation without ansible playbooks +Not necessary if you use the dabo Playbook + +#### Install docker +See: https://docs.docker.com/engine/install/debian/ + +You can also use other containerizations like podman or kubernetes. But here I stick with docker + +#### Download Not necessary if you use the dabo Playbook ``` git clone https://github.com/egabosh/dabo.git cd dabo ``` -### Build container +#### Build container Not necessary if you use the dabo Playbook ``` docker -l warn compose --ansi never build --progress=plain --pull --no-cache --force-rm ``` -### 3. Configuration -Not necessary if you use the dabo Playbook +### 3. Make Webinterface available +Not necessary if you use the dabo Playbook with traefik and letsencrypt Edit docker-compose.yml or create docker-compose.override.yml to fit yout needs e.g. domain and network settings or basic auth, e.g. for traefik and letsencrypt: ``` @@ -239,6 +248,15 @@ networks: ' >docker-compose.override.yml ``` + +If you use the ansible Playbook but don't want to use traefik/letsencrypt or availability over the internet you can add the following to `docker-compose.override.yml` below "# END ANSIBLE MANAGED BLOCK". +ATTENTION: ACCESS IS UNENCRYPTED!!! +``` + ports: + - 8080:80 +``` +You have to restart the container(s) to apply changes. See operational commands. + ### 4. Optional: Matrix connection Optional: If you use matrix/matrix-commander (https://github.com/egabosh/linux-setups/tree/main/debian/matrix.server) and want do receive Matrix-Messages from the bot you can create an SSH-Key to allow sending Matrix-Messages e.g.: @@ -255,10 +273,8 @@ and add Key on your matrix-Server to the authorized_keys of the matrix-User Create Secrets file for your API Key(s) - file: dabo/.CCXT-ID-secrets - CCXI-ID see: https://github.com/ccxt/ccxt - Examples: ``` # for Phemex @@ -280,6 +296,7 @@ vim dabo-bot.conf ``` Defaults in dabo/dabo-bot.conf +## How to use ### Operational commands Run/Restart: @@ -316,7 +333,7 @@ docker compose down docker compose up -d ``` -## Strategies +### Strategies IMPORTANT!!! @@ -331,7 +348,7 @@ Strategies are located in die stretegies subdir. You can put your own code into the strategies it will be sourced by the bot. If you want, you can also use other programming languages or binary code as a strategy and simply start it using your own strategy. -### Example strategies +#### Example strategies There are examples for strategy files (deactivated by "return 0" in the beginning): ``` cat strategies/example.strategy.sh @@ -348,7 +365,7 @@ cp -p strategies/example.strategy.sh strategies/my-own-trading cp -p strategies/example_manage_positions.strategy.sh strategies/my-own-position.strategy.sh ``` -### Own strategies +#### Own strategies Aditional strategies can be created with naming convention *.strategy.sh ``` strategies/my-new.strategy.sh @@ -361,12 +378,12 @@ chown -R 10000:10000 strategies chmod -R 640 strategies ``` -### Variables during runtime of the strategies +#### Variables during runtime of the strategies You can use available variables/arrays during runtime to read (and set) values. This arrays are available to runtime in the strategies -#### Large associative arrays v and vr (reverse) +##### Large associative arrays v and vr (reverse) ${v[SYMBOL_TIMEFRAME_ITEM_NUMBER]} @@ -388,7 +405,7 @@ ${v[$[ETHUSDT_levels_1w_next_down]} You can find a complete list of available values in the file `data/botdata/values` which is created in the runtime of the bot. An long example list you can find in example-values. https://github.com/egabosh/dabo/blob/main/example-values -#### Current price from exchange +##### Current price from exchange ${f_tickers_array[SYMBOL]} ``` @@ -396,7 +413,7 @@ ${f_tickers_array[SOLUSDT]} ${f_tickers_array[ETH${CURRENCY}]} ``` -#### Open Orders +##### Open Orders ``` ${o[ETHUSDT_present]}=sl_close_long tp_close_long @@ -421,7 +438,7 @@ ${o[ETHUSDT_tp_close_long_type]}=MarketIfTouched You can find a complete list of available values in the file `data/botdata/values-orders` which is created in the runtime of the bot. -#### Open Positions +##### Open Positions ``` ${p[ETHUSDT_currency_amount]}=9509.25