From a8119d2811e4477cbf89b501623d96230ddd0303 Mon Sep 17 00:00:00 2001 From: algizn97 Date: Wed, 29 Oct 2025 20:55:51 +0500 Subject: [PATCH] adjusted percentages of TP and SL --- app/helper_functions.py | 6 ++++++ app/telegram/handlers/changing_the_symbol.py | 2 +- .../main_settings/additional_settings.py | 2 +- app/telegram/handlers/stop_trading.py | 20 +++++++------------ 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/helper_functions.py b/app/helper_functions.py index 07fd74d..295153d 100644 --- a/app/helper_functions.py +++ b/app/helper_functions.py @@ -179,3 +179,9 @@ async def calculate_total_budget( total += r_quantity return total + + + +async def truncate_float(f, decimals=4): + factor = 10 ** decimals + return int(f * factor) / factor \ No newline at end of file diff --git a/app/telegram/handlers/changing_the_symbol.py b/app/telegram/handlers/changing_the_symbol.py index 689867c..1019ff2 100644 --- a/app/telegram/handlers/changing_the_symbol.py +++ b/app/telegram/handlers/changing_the_symbol.py @@ -121,7 +121,7 @@ async def set_symbol(message: Message, state: FSMContext) -> None: ) await rq.set_leverage(tg_id=message.from_user.id, leverage=str(max_leverage)) - risk_percent = 100 / safe_float(max_leverage) + risk_percent = 10 / safe_float(max_leverage) await rq.set_stop_loss_percent( tg_id=message.from_user.id, stop_loss_percent=risk_percent) await rq.set_take_profit_percent( diff --git a/app/telegram/handlers/main_settings/additional_settings.py b/app/telegram/handlers/main_settings/additional_settings.py index c792555..262ed85 100644 --- a/app/telegram/handlers/main_settings/additional_settings.py +++ b/app/telegram/handlers/main_settings/additional_settings.py @@ -660,7 +660,7 @@ async def set_leverage_handler(message: Message, state: FSMContext) -> None: text=f"Кредитное плечо успешно установлено на {leverage_float}", reply_markup=kbi.back_to_additional_settings, ) - risk_percent = 100 / safe_float(leverage_float) + risk_percent = 10 / safe_float(leverage_float) await rq.set_stop_loss_percent( tg_id=message.from_user.id, stop_loss_percent=risk_percent) await rq.set_take_profit_percent( diff --git a/app/telegram/handlers/stop_trading.py b/app/telegram/handlers/stop_trading.py index 719dfa1..3ccd377 100644 --- a/app/telegram/handlers/stop_trading.py +++ b/app/telegram/handlers/stop_trading.py @@ -39,21 +39,15 @@ async def stop_all_trading(callback_query: CallbackQuery, state: FSMContext): await rq.set_stop_timer(tg_id=callback_query.from_user.id, timer_end=0) await asyncio.sleep(timer_end * 60) - user_auto_trading = await rq.get_user_auto_trading( - tg_id=callback_query.from_user.id, symbol=symbol + await rq.set_auto_trading( + tg_id=callback_query.from_user.id, + symbol=symbol, + auto_trading=False, ) + await close_position_by_symbol( + tg_id=callback_query.from_user.id, symbol=symbol) + await callback_query.message.edit_text(text=f"Торговля для {symbol} остановлена", reply_markup=kbi.profile_bybit) - if user_auto_trading and user_auto_trading.auto_trading: - await rq.set_auto_trading( - tg_id=callback_query.from_user.id, - symbol=symbol, - auto_trading=False, - ) - await close_position_by_symbol( - tg_id=callback_query.from_user.id, symbol=symbol) - await callback_query.message.edit_text(text=f"Торговля для {symbol} остановлена", reply_markup=kbi.profile_bybit) - else: - await callback_query.message.edit_text(text=f"Нет активной торговли для {symbol}", reply_markup=kbi.profile_bybit) task = asyncio.create_task(delay_start()) await add_stop_task(user_id=callback_query.from_user.id, task=task)