bbgo_origin/scripts/setup-grid-dnum.sh
2024-08-21 14:37:39 +08:00

122 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
function warn()
{
echo -e "${YELLOW}$@${NC}"
}
function error()
{
echo -e "${RED}$@${NC}"
}
function info()
{
echo -e "${GREEN}$@${NC}"
}
version=$(curl -fs https://api.github.com/repos/c9s/bbgo/releases/latest | awk -F '"' '/tag_name/{print $4}')
osf=$(uname | tr '[:upper:]' '[:lower:]')
arch=""
case $(uname -m) in
x86_64 | ia64) arch="amd64";;
arm64 | aarch64 | arm) arch="arm64";;
*)
echo "unsupported architecture: $(uname -m)"
exit 1;;
esac
dist_file=bbgo-dnum-$version-$osf-$arch.tar.gz
exchange=max
if [[ -n $1 ]] ; then
exchange=$1
fi
exchange_upper=$(echo -n $exchange | tr 'a-z' 'A-Z')
info "downloading..."
curl -O -L https://github.com/c9s/bbgo/releases/download/$version/$dist_file
tar xzf $dist_file
mv bbgo-dnum-$osf-$arch bbgo
chmod +x bbgo
info "downloaded successfully"
function gen_dotenv()
{
read -p "Enter your $exchange_upper API key: " api_key
read -p "Enter your $exchange_upper API secret: " api_secret
info "generating your .env.local file..."
cat <<END > .env.local
${exchange_upper}_API_KEY=$api_key
${exchange_upper}_API_SECRET=$api_secret
END
info "dotenv is configured successfully"
}
if [[ -e ".env.local" ]] ; then
warn "found an existing .env.local, you will overwrite the existing .env.local file!"
read -p "are you sure? (Y/n) " a
if [[ $a != "n" ]] ; then
gen_dotenv
fi
else
gen_dotenv
fi
if [[ -e "bbgo.yaml" ]] ; then
warn "found existing bbgo.yaml, you will overwrite the existing bbgo.yaml file!"
read -p "are you sure? (Y/n) " a
if [[ $a == "n" ]] ; then
exit
fi
fi
cat <<END > bbgo.yaml
---
exchangeStrategies:
- on: ${exchange}
grid:
symbol: BTCUSDT
quantity: 0.001
gridNumber: 100
profitSpread: 100.0
upperPrice: 50_000.0
lowerPrice: 10_000.0
long: true
END
info "config file is generated successfully"
echo "================================================================"
echo "now you can edit your strategy config file bbgo.yaml to run bbgo"
if [[ $osf == "darwin" ]] ; then
echo "we found you're using MacOS, you can type:"
echo ""
echo " open -a TextEdit bbgo.yaml"
echo ""
else
echo "you look like a pro user, you can edit the config by:"
echo ""
echo " vim bbgo.yaml"
echo ""
fi
echo "To run bbgo just type: "
echo ""
echo " ./bbgo run"
echo ""
echo "To stop bbgo, just hit CTRL-C"
if [[ $osf == "darwin" ]] ; then
open -a TextEdit bbgo.yaml
fi