Refactor buy_coin()

This commit is contained in:
Sik Yoon 2023-08-12 19:05:09 +09:00
parent bd2f31fab3
commit 52489fd359

View File

@ -117,20 +117,16 @@ pub async fn buy_coin(
exchange_info_vec: &Vec<ExchangeInfo>,
trade_fee_vec: &Vec<TradeFee>,
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
// check conditions for buying
let mut suggested_coin = get_suggested_coin_list().await;
let mut delete_condition = String::from("WHERE ");
let mut is_exist_delete_symbol: bool = false;
if !suggested_coin.is_empty() {
// && (signal_decision.first().unwrap().decision == "KEEP" || signal_decision.first().unwrap().decision == "UP") {
let unit_trade_usdt = get_unit_trade_usdt().await;
let server_epoch = server_epoch().await;
let mut filtered_suggested_coin_vec: Vec<&SuggestedCoin> = Vec::new();
let mut is_exist_delete_symbol: bool = false;
let mut delete_condition = String::from("WHERE ");
// filtering symbols to buy
for element in &suggested_coin {
if element.already_buy == 0
&& server_epoch - element.registered_server_epoch <= 600_000
// 600_000 (600 secs = 10 mins)
@ -144,11 +140,12 @@ pub async fn buy_coin(
is_exist_delete_symbol = true;
}
}
set_is_tradable().await;
let mut is_tradable = get_is_tradable().await;
if is_tradable == true && !filtered_suggested_coin_vec.is_empty() {
let unit_trade_usdt = get_unit_trade_usdt().await;
let available_usdt = get_available_usdt().await;
let vec_len = Decimal::new(filtered_suggested_coin_vec.len() as i64, 0);
let mut used_usdt = Decimal::new(0, 8);