|
|
|
|
@@ -27,7 +27,10 @@ function order {
|
|
|
|
|
local f_amount=$2 # amount in $CURRENCY / if crypto_amount:XXX then amount in crypto
|
|
|
|
|
local f_side=$3 # buy/sell long/short
|
|
|
|
|
local f_price=$4 # price for limit order - if not given do market order
|
|
|
|
|
local f_params f_type
|
|
|
|
|
local f_stoploss=$5
|
|
|
|
|
local f_takeprofit=$6
|
|
|
|
|
local f_params="params={"
|
|
|
|
|
local f_type
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### validity checks ###
|
|
|
|
|
@@ -78,14 +81,24 @@ function order {
|
|
|
|
|
f_ccxt "$STOCK_EXCHANGE.setLeverage($LEVERAGE, '$f_symbol')" || return 1
|
|
|
|
|
|
|
|
|
|
# define margibn mode isolated/cross
|
|
|
|
|
f_params="params={'marginMode': '$MARGIN_MODE'}"
|
|
|
|
|
f_params="${f_params}'marginMode': '$MARGIN_MODE', "
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
# short/sell not possible in spot market
|
|
|
|
|
[[ $f_side =~ ^sell$ ]] || return 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Add stoploos and take profit if available
|
|
|
|
|
[ -n "$f_stoploss" ] && f_params="${f_params}'stopLossPrice': '$f_stoploss', "
|
|
|
|
|
[ -n "$f_takeprofit" ] && f_params="${f_params}'takeProfitPrice': '$f_takeprofit', "
|
|
|
|
|
|
|
|
|
|
# end up params syntax with "}"
|
|
|
|
|
f_params="${f_params}}"
|
|
|
|
|
|
|
|
|
|
# do the order
|
|
|
|
|
f_ccxt "print($STOCK_EXCHANGE.createOrder(symbol='${f_symbol}', type='$f_type', price=$f_price, amount='${f_amount}', side='${f_side}', ${f_params}))" || return 1
|
|
|
|
|
local f_order="symbol='${f_symbol}', type='$f_type', price=$f_price, amount='${f_amount}', side='${f_side}', ${f_params}"
|
|
|
|
|
echo "$f_order" | notify.sh -s "ORDER"
|
|
|
|
|
f_ccxt "print($STOCK_EXCHANGE.createOrder(${f_order}))" || return 1
|
|
|
|
|
|
|
|
|
|
# refresh positions
|
|
|
|
|
get_positions
|
|
|
|
|
|