-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript-ru.sh
71 lines (56 loc) · 3.53 KB
/
script-ru.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "Этот скрипт должен быть запущен с sudo."
echo "Повторный запуск скрипта с использованием sudo..."
sudo "$0" "$@"
exit $?
fi
echo "
'##::: ##:::'#####:::'##::: ##::::'###::::'##::::'##:'########:'##::: ##:'##::::'##:'##:::::::'##:::::::
###:: ##::'##.. ##:: ###:: ##:::'## ##::: ###::'###: ##.....:: ###:: ##: ##:::: ##: ##::::::: ##:::::::
####: ##:'##:::: ##: ####: ##::'##:. ##:: ####'####: ##::::::: ####: ##: ##:::: ##: ##::::::: ##:::::::
## ## ##: ##:::: ##: ## ## ##:'##:::. ##: ## ### ##: ######::: ## ## ##: ##:::: ##: ##::::::: ##:::::::
##. ####: ##:::: ##: ##. ####: #########: ##. #: ##: ##...:::: ##. ####: ##:::: ##: ##::::::: ##:::::::
##:. ###:. ##:: ##:: ##:. ###: ##.... ##: ##:.:: ##: ##::::::: ##:. ###: ##:::: ##: ##::::::: ##:::::::
##::. ##::. #####::: ##::. ##: ##:::: ##: ##:::: ##: ########: ##::. ##:. #######:: ########: ########:
..::::..::::.....::::..::::..::..:::::..::..:::::..::........::..::::..:::.......:::........::........::
"
echo "Список запущенных контейнеров Docker:"
docker ps --format "table {{.Names}}\t{{.Image}}"
read -p "Введите имя контейнера Docker или нажмите Enter если название freqtrade: " container_name
default_container_name="freqtrade"
if [ -z "$container_name" ]; then
container_name=$default_container_name
fi
if docker ps -a --format "{{.Names}}" | grep -q $container_name; then
echo "Контейнер с именем '$container_name' найден. Запускаем команду 'docker exec' для входа в контейнер..."
read -p "Введите имя стратегии или несколько через пробел: " strategy_input
num_strategies=$(echo $strategy_input | wc -w)
strategies=""
if [ "$num_strategies" -eq 1 ]; then
strategies="-s $strategy_input"
elif [ "$num_strategies" -gt 1 ]; then
strategies="--strategy-list $strategy_input"
fi
read -p "Временной диапазон теста в формате ГГГГММДД-ГГГГММДД: " timerange
read -p "Укажите таймфрейм (обязательно при указании нескольких стратегий): " timeframe
read -p "Максимальное количество открытых позиций: " max_open_trades
read -p "Объем одной позиции: " stake_amount
read -p "Список пар в формате XYZ/ABC для спота и XYZ/ABC:HJK для фьючерсов: " p
read -p "Абсолютный путь к конфигу или название файла: " config
command="freqtrade backtesting $strategies"
[[ -n $timerange ]] && command="$command --timerange $timerange"
[[ -n $timeframe ]] && command="$command --timeframe $timeframe"
[[ -n $max_open_trades ]] && command="$command --max-open-trades $max_open_trades"
[[ -n $stake_amount ]] && command="$command --stake-amount $stake_amount"
[[ -n $p ]] && command="$command -p $p"
[[ -n $config ]] && command="$command --config $config"
if docker exec -it $container_name bash -c "$command"; then
echo "Команда выполнена успешно."
else
echo "Произошла ошибка при выполнении команды в контейнере."
fi
echo "$command"
else
echo "Контейнер с именем '$container_name' не найден."
fi