25 lines
717 B
Python
25 lines
717 B
Python
import asyncio
|
|
|
|
from app.services.Bybit.functions.Futures import close_trade_after_delay, trading_cycle
|
|
|
|
active_start_tasks = {}
|
|
active_close_tasks = {}
|
|
|
|
def start_trading_cycle(tg_id, message):
|
|
task = asyncio.create_task(trading_cycle(tg_id, message))
|
|
active_start_tasks[tg_id] = task
|
|
|
|
def stop_trading_cycle(tg_id):
|
|
task = active_start_tasks.pop(tg_id, None)
|
|
if task:
|
|
task.cancel()
|
|
|
|
def start_close_trade_task(tg_id, message, symbol, delay_sec):
|
|
task = asyncio.create_task(close_trade_after_delay(tg_id, message, symbol, delay_sec))
|
|
active_close_tasks[tg_id] = task
|
|
|
|
def stop_close_trade_task(tg_id):
|
|
task = active_close_tasks.pop(tg_id, None)
|
|
if task:
|
|
task.cancel()
|