dabo/dabo-bot.sh

83 lines
1.7 KiB
Bash
Raw Normal View History

2023-04-28 17:09:15 +02:00
#!/bin/bash
. /etc/bash/gaboshlib.include
g_lockfile
### CONFIG ###
2023-04-28 20:04:46 +02:00
BASEPATH=/dabo/htdocs
2023-04-28 17:09:15 +02:00
g_tries=3
g_tries_delay=5
### FUNCTIONS ###
for bashfunc in $(find ${BASEPATH}/../functions -type f -name "*.sh")
do
. "$bashfunc"
done
### MAIN ###
# prepare directories
mkdir -p ${BASEPATH}/botdata/asset-histories
mkdir -p ${BASEPATH}/botdata/trade-histories
cd ${BASEPATH}/botdata
touch firstloop
# am I the bot (important for functions used by analyze.sh
echo $0 | grep -q "dabo-bot\.sh" && BOT=1
# run endless loop
while true
do
# wait until next full minute in the beginning to be able to work with continue in this loop
if [ -f firstloop ]
then
rm -f firstloop
else
g_echo_note "NEXT LOOP - sleping until next full ${INTERVAL} seconds"
sleep $((${INTERVAL} - $(date +%s) % ${INTERVAL}))
fi
# reload config
. ../../dabo-bot.conf
# stock data
if [ ${STOCK_EXCHANGE} = "BINANCE" ]
then
#BINANCE_CLI_CMD="docker-compose -f /home/docker/binance-cli/docker-compose.yml exec -T binance-cli binance-cli"
# command for current token infos (function for setting var QUANTITY_LOT_CUT
TOKEN_INFO_CMD="binance_get_token_info"
# command for buying/selling a token
#TRADE_CMD="$BINANCE_CLI_CMD ACTION -s TOKEN -u QUANTITY -t market"
TRADE_CMD='binance-api-call POST /api/v3/order "&symbol=TOKEN&quoteOrderQty=QUANTITY&side=ACTION&type=MARKET"'
fi
# Get current assets
get_assets || continue
# Get current balances
get_balances || continue
# Check the situation on the market
if ! market_performance
then
f_market_performance=$(cat MARKET_PERFORMANCE_LATEST)
fi
##### Sell something? ####
check_for_sell
##### Buy something? ####
check_for_buy
##### Update webpage
webpage &
done