diff --git a/dabo/functions/get_orders.sh b/dabo/functions/get_orders.sh index 5c5c3f3..2f356aa 100644 --- a/dabo/functions/get_orders.sh +++ b/dabo/functions/get_orders.sh @@ -115,7 +115,13 @@ function get_order_line_vars { [[ $f_order_side = buy ]] && f_type="tp_close_short" [[ $f_order_side = sell ]] && f_type="tp_close_long" fi - + + if [ -z "${o[${f_asset}_present]}" ] + then + o[${f_asset}_present]=${f_type} + else + o[${f_asset}_present]=${o[${f_asset}_present]},${f_type} + fi o[${f_asset}_${f_type}_type]=${f_order_array[1]} o[${f_asset}_${f_type}_side]=${f_order_array[2]} o[${f_asset}_${f_type}_entry_price]=${f_order_array[3]} diff --git a/dabo/functions/order.sh b/dabo/functions/order.sh index 71dc94d..a23a9c2 100644 --- a/dabo/functions/order.sh +++ b/dabo/functions/order.sh @@ -119,5 +119,7 @@ function order { # refresh orders and positions get_orders "$f_symbol" get_positions + get_position_array + get_orders_array } diff --git a/dabo/functions/order_cancel.sh b/dabo/functions/order_cancel.sh index 7f0665e..5e30f3f 100644 --- a/dabo/functions/order_cancel.sh +++ b/dabo/functions/order_cancel.sh @@ -26,17 +26,32 @@ function order_close { local f_order get_symbols_ticker - get_orders + get_orders "$f_symbol" get_orders_array - for f_order in "${f_get_orders_array[@]}" - do - get_order_line_vars "$f_order" - if [ "$f_symbol" = "$f_order_symbol" ] - then - f_ccxt "print(${STOCK_EXCHANGE}.cancelAllOrders('$f_symbol'))" - get_orders "$f_symbol" - fi - done + local f_asset=${f_symbol//:$CURRENCY/} + f_asset=${f_asset//\//} + + if [ -n "${o[${f_asset}_present]}" ] + then + f_ccxt "print(${STOCK_EXCHANGE}.cancelAllOrders('$f_symbol'))" + get_orders "$f_symbol" + get_orders_array + else + g_echo_note "No orders for $f_symbol/$f_asset found" + return 0 + fi + + +# for f_order in "${f_get_orders_array[@]}" +# do +# get_order_line_vars "$f_order" +# if [[ $f_symbol = $f_order_symbol ]] +# then +# f_ccxt "print(${STOCK_EXCHANGE}.cancelAllOrders('$f_symbol'))" +# get_orders "$f_symbol" +# get_orders_array +# fi +# done }