Fixed check auto trading

This commit is contained in:
algizn97
2025-10-04 09:33:44 +05:00
parent 086c7c8170
commit ce5d0605de
4 changed files with 136 additions and 66 deletions

View File

@@ -162,17 +162,18 @@ async def start_trading_long(callback_query: CallbackQuery, state: FSMContext) -
"Order does not meet minimum order value": "Сумма ордера не достаточна для запуска торговли",
"position idx not match position mode": "Торговля уже запущена в режиме хеджирования на продажу для данного инструмента",
"Qty invalid": "Некорректное значение ордера для данного инструмента",
"The number of contracts exceeds maximum limit allowed": "️️Количество контрактов превышает допустимое максимальное количество контрактов",
}
if res == "OK":
await callback_query.answer(text="Торговля запущена")
await callback_query.message.edit_text(text="Торговля запущена")
await state.clear()
else:
await rq.set_auto_trading(
tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=False, side=side
)
text = error_messages.get(res, "Произошла ошибка при запуске торговли")
await callback_query.answer(text=text)
await callback_query.message.edit_text(text=text, reply_markup=kbi.profile_bybit)
await callback_query.message.edit_text("Запуск торговли...")
task = asyncio.create_task(delay_start())
@@ -299,6 +300,11 @@ async def start_switch(callback_query: CallbackQuery, state: FSMContext) -> None
await rq.set_auto_trading(
tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=True, side=side
)
if side == "Buy":
r_side = "Sell"
else:
r_side = "Buy"
await rq.set_auto_trading(tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=True, side=r_side)
res = await start_trading_cycle(
tg_id=callback_query.from_user.id,
side=side,
@@ -315,17 +321,24 @@ async def start_switch(callback_query: CallbackQuery, state: FSMContext) -> None
"Order does not meet minimum order value": "Сумма ордера не достаточна для запуска торговли",
"position idx not match position mode": "Торговля уже запущена в режиме хеджирования на продажу для данного инструмента",
"Qty invalid": "Некорректное значение ордера для данного инструмента",
"The number of contracts exceeds maximum limit allowed": " ️️Количество контрактов превышает допустимое максимальное количество контрактов",
}
if res == "OK":
await callback_query.answer(text="Торговля запущена")
await callback_query.message.edit_text(text="Торговля запущена")
await state.clear()
else:
await rq.set_auto_trading(
tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=False, side=side
)
if side == "Buy":
r_side = "Sell"
else:
r_side = "Buy"
await rq.set_auto_trading(tg_id=callback_query.from_user.id, symbol=symbol, auto_trading=False,
side=r_side)
text = error_messages.get(res, "Произошла ошибка при запуске торговли")
await callback_query.answer(text=text)
await callback_query.message.edit_text(text=text, reply_markup=kbi.profile_bybit)
await callback_query.message.edit_text("Запуск торговли...")
task = asyncio.create_task(delay_start())