diff --git a/dabo/functions/check_buy_conditions.sh b/dabo/functions/check_buy_conditions.sh index b83c5f3..abc5bc5 100644 --- a/dabo/functions/check_buy_conditions.sh +++ b/dabo/functions/check_buy_conditions.sh @@ -16,9 +16,9 @@ function check_buy_conditions { # get asset vars get_vars_from_csv "${f_ASSET_HIST_FILE}" || return 1 - + ### from here: check for defined state to buy - f_BUY="${f_last_line}" + f_BUY="${f_last_line},${f_market_performance}" # load strategy local f_echo_prefix="BUY ${f_ASSET}@${CURRENCY}:${f_price}:${f_strategy} - " @@ -112,15 +112,29 @@ function check_buy_conditions { return 0 fi -# if [ -n "$f_BUY" ] -# then + if [ -n "$f_BUY" ] + then # # Check for beginning MACD Trend # if ! tail -n3 ${f_ASSET_HIST_FILE} | grep -q '|buy,' # then # g_echo_note "${f_echo_prefix}MACD Trend not near (3 timeframes) the beginning buy signal" # return 0 # fi -# + +# # Check for continious growing price +# local f_price_before=$(tail -n2 ${f_ASSET_HIST_FILE} | head -n1 | cut -d, -f2) +# local f_price_2before=$(tail -n3 ${f_ASSET_HIST_FILE} | head -n1 | cut -d, -f2) +# local f_price_3before=$(tail -n4 ${f_ASSET_HIST_FILE} | head -n1 | cut -d, -f2) +# if [ $(echo "${f_price} < ${f_price_before}" | bc -l) -ne 0 ] || \ +# [ $(echo "${f_price_before} < ${f_price_2before}" | bc -l) -ne 0 ] || \ +# [ $(echo "${f_price_2before} < ${f_price_3before}" | bc -l) -ne 0 ] +# then +# g_echo_note "${f_echo_prefix}Last 3 prices not continiously growing" +# return 0 +# fi + + + # # Check for growing MACD trend # local f_macd_histogram_before=$(tail -n2 ${f_ASSET_HIST_FILE} | head -n1 | cut -d, -f8) # local f_macd_histogram_2before=$(tail -n3 ${f_ASSET_HIST_FILE} | head -n1 | cut -d, -f8) @@ -137,7 +151,7 @@ function check_buy_conditions { # g_echo_note "BUY ${f_ASSET}@${CURRENCY}:${f_price} MACD Histogram not rising (now ${f_macd_histogram} < 1 before ${f_macd_histogram_before} < 2 before ${f_macd_histogram_2before} < 3 before ${f_macd_histogram_3before} < 4 before ${f_macd_histogram_4before} < 5 before ${f_macd_histogram_5before}) - trend loses strength / not growing - don't buy" # return 0 # fi -# fi + fi ### Buy or not buy? # BOT diff --git a/dabo/functions/check_sell_conditions.sh b/dabo/functions/check_sell_conditions.sh index 0e80387..6a3d6aa 100644 --- a/dabo/functions/check_sell_conditions.sh +++ b/dabo/functions/check_sell_conditions.sh @@ -10,17 +10,7 @@ function check_sell_conditions { # get data get_vars_from_csv ${f_ASSET_HIST_FILE} || return 1 - # load strategy local f_echo_prefix="SELL ${f_ASSET}@${CURRENCY}:${f_price}:${f_strategy} - " - if [ -s "${f_strategy}" ] - then - . "${f_strategy}" || return 0 - else - g_echo_note "${f_echo_prefix}Strategy file not found" - return 1 - fi - g_echo_note "${f_echo_prefix}Running SELL checks" - ### check current result if [ -n "${BOT}" ] @@ -46,6 +36,15 @@ function check_sell_conditions { echo "INTERIM RESULT: ${f_BUY_PRICE_LAST_RATE_DIFF}%" fi + # run strategy + if [ -s "${f_strategy}" ] + then + . "${f_strategy}" || return 0 + else + g_echo_note "${f_echo_prefix}Strategy file not found" + return 1 + fi + g_echo_note "${f_echo_prefix}Running SELL checks" # check if the result (profit/loss until now) is lowering and sell if too low () if [ -f ${f_TRADE_HIST_FILE_INTERIM} ] diff --git a/dabo/functions/get_rsi_indicator.sh b/dabo/functions/get_rsi_indicator.sh index 89177fe..6d62229 100644 --- a/dabo/functions/get_rsi_indicator.sh +++ b/dabo/functions/get_rsi_indicator.sh @@ -15,8 +15,8 @@ function get_rsi_indicator { local f_period_sum=$(tail -n${f_period} "${f_hist_file}" | cut -d, -f2 | grep "^[0-9]" | wc -l) if ! [ ${f_period_sum} -ge ${f_period} ] then - g_echo_note "${FUNCNAME} $@: Not enough data - waiting for more values. (${f_period} needed; ${f_period_sum} given)" - echo -n ",${f_rsi}" >>"${f_hist_file}" + g_echo_note "${FUNCNAME} $@: Not enough data - waiting for more values and defaulting to 50. (${f_period} needed; ${f_period_sum} given)" + echo -n ",50" >>"${f_hist_file}" return 0 fi diff --git a/dabo/functions/get_vars_from_csv.sh b/dabo/functions/get_vars_from_csv.sh index 4392960..61754e1 100644 --- a/dabo/functions/get_vars_from_csv.sh +++ b/dabo/functions/get_vars_from_csv.sh @@ -18,6 +18,7 @@ function get_vars_from_csv { get_var_from_line macd_histogram 8 get_var_from_line macd_signal_relation 9 f_macd_histogram_relation=$(echo "${f_macd_signal_relation}" | cut -d\| -f1) + [ -z "$f_macd_histogram_relation" ] && return 1 f_macd_histogram_signal=$(echo "${f_macd_signal_relation}" | cut -d\| -f2) get_var_from_line rsi5 10