Adds /count command
Adds /count command Adds /count command
This commit is contained in:
parent
871b5e17ee
commit
0e1eb20781
18
.editorconfig
Normal file
18
.editorconfig
Normal file
@ -0,0 +1,18 @@
|
||||
# http://editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
max_line_length = 80
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.md]
|
||||
max_line_length = 0
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[COMMIT_EDITMSG]
|
||||
max_line_length = 0
|
74
bin/run-docker
Executable file
74
bin/run-docker
Executable file
@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if docker image exists
|
||||
CMD_CHECK_IMAGE="docker images -q freqtrade:latest"
|
||||
REBUILD=false
|
||||
DRY_RUN=false
|
||||
|
||||
while getopts rdh option
|
||||
do
|
||||
case "${option}"
|
||||
in
|
||||
r) REBUILD=true
|
||||
;;
|
||||
d) DRY_RUN=true
|
||||
;;
|
||||
h) cat << EOF
|
||||
|
||||
Commands available :
|
||||
|
||||
-r Rebuild the container
|
||||
-d Dry Run
|
||||
-h This help message
|
||||
EOF
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Ensures files exists
|
||||
[ -d ~/.freqtrade ] || mkdir ~/.freqtrade
|
||||
cp config.json ~/.freqtrade/
|
||||
touch ~/.freqtrade/tradesv2.sqlite
|
||||
touch ~/.freqtrade/tradesv2.dry_run.sqlite
|
||||
|
||||
|
||||
echo 'Stopping container...'
|
||||
docker stop freqtrade > /dev/null \
|
||||
&& docker rm freqtrade > /dev/null \
|
||||
&& echo 'Container stopped'
|
||||
|
||||
|
||||
if [[ -z $($CMD_CHECK_IMAGE) || $REBUILD = true ]]; then
|
||||
echo "Building container"
|
||||
docker build -t freqtrade .
|
||||
fi
|
||||
|
||||
|
||||
# Generates Docker commands based on options
|
||||
DOCKER_CMD="docker run -d \
|
||||
--name freqtrade \
|
||||
-v ~/.freqtrade/config.json:/freqtrade/config.json"
|
||||
|
||||
if [[ $DRY_RUN = true ]]; then
|
||||
DOCKER_CMD="$DOCKER_CMD \
|
||||
-v ~/.freqtrade/tradesv2.dry_run.sqlite:/freqtrade/tradesv2.dry_run.sqlite"
|
||||
else
|
||||
DOCKER_CMD="$DOCKER_CMD \
|
||||
-v ~/.freqtrade/tradesv2.sqlite:/freqtrade/tradesv2.sqlite"
|
||||
fi
|
||||
|
||||
DOCKER_CMD="$DOCKER_CMD freqtrade"
|
||||
|
||||
echo 'Starting container'
|
||||
eval $DOCKER_CMD \ > /dev/null \
|
||||
&& echo 'Container ready' \
|
||||
|| echo 'Problem starting container'
|
||||
|
||||
exit 0
|
||||
|
||||
docker run -d \
|
||||
--name freqtrade \
|
||||
-v ~/.freqtrade/config.json:/freqtrade/config.json \
|
||||
-v ~/.freqtrade/tradesv2.dry_run.sqlite:/freqtrade/tradesv2.dry_run.sqlite \
|
||||
freqtrade
|
@ -45,6 +45,7 @@ def init(config: dict) -> None:
|
||||
CommandHandler('stop', _stop),
|
||||
CommandHandler('forcesell', _forcesell),
|
||||
CommandHandler('performance', _performance),
|
||||
CommandHandler('count', _count),
|
||||
CommandHandler('help', _help),
|
||||
]
|
||||
for handle in handles:
|
||||
@ -310,6 +311,29 @@ def _performance(bot: Bot, update: Update) -> None:
|
||||
send_msg(message, parse_mode=ParseMode.HTML)
|
||||
|
||||
|
||||
@authorized_only
|
||||
def _count(bot: Bot, update: Update) -> None:
|
||||
"""
|
||||
Handler for /count.
|
||||
Returns the number of trades running
|
||||
:param bot: telegram bot
|
||||
:param update: message update
|
||||
:return: None
|
||||
"""
|
||||
if get_state() != State.RUNNING:
|
||||
send_msg('`trader is not running`', bot=bot)
|
||||
return
|
||||
|
||||
trades = Trade.query.filter(Trade.is_open.is_(True)).all()
|
||||
|
||||
current_trades_count = len(trades)
|
||||
max_trades_count = _CONF['max_open_trades']
|
||||
|
||||
message = '<b>Count:</b>\ncurrent/max\n{}/{}\n'.format(current_trades_count, max_trades_count)
|
||||
logger.debug(message)
|
||||
send_msg(message, parse_mode=ParseMode.HTML)
|
||||
|
||||
|
||||
@authorized_only
|
||||
def _help(bot: Bot, update: Update) -> None:
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user