diff --git a/app/bybit/open_positions.py b/app/bybit/open_positions.py index 0130d41..f202e12 100644 --- a/app/bybit/open_positions.py +++ b/app/bybit/open_positions.py @@ -50,20 +50,22 @@ async def start_trading_cycle( stop_loss_percent = risk_management_data.stop_loss_percent max_risk_percent = risk_management_data.max_risk_percent - mode = 0 if trade_mode == "Merged_Single" else 3 + mode = 3 if trade_mode == "Both_Sides" else 0 await set_switch_position_mode(tg_id=tg_id, symbol=symbol, mode=mode) await set_margin_mode(tg_id=tg_id, margin_mode=margin_type) - await set_leverage( - tg_id=tg_id, - symbol=symbol, - leverage=leverage, - ) - await set_leverage_to_buy_and_sell( - tg_id=tg_id, - symbol=symbol, - leverage_to_buy=leverage_to_buy, - leverage_to_sell=leverage_to_sell, - ) + if trade_mode == "Both_Sides" and margin_type == "ISOLATED_MARGIN": + await set_leverage_to_buy_and_sell( + tg_id=tg_id, + symbol=symbol, + leverage_to_buy=leverage_to_buy, + leverage_to_sell=leverage_to_sell, + ) + else: + await set_leverage( + tg_id=tg_id, + symbol=symbol, + leverage=leverage, + ) res = await open_positions( tg_id=tg_id, @@ -151,20 +153,22 @@ async def trading_cycle(tg_id: int, symbol: str, reverse_side: str) -> str | Non current_step = user_deals_data.current_step switch_side_mode = user_deals_data.switch_side_mode - mode = 0 if trade_mode == "Merged_Single" else 3 + mode = 3 if trade_mode == "Both_Sides" else 0 await set_switch_position_mode(tg_id=tg_id, symbol=symbol, mode=mode) await set_margin_mode(tg_id=tg_id, margin_mode=margin_type) - await set_leverage( - tg_id=tg_id, - symbol=symbol, - leverage=leverage, - ) - await set_leverage_to_buy_and_sell( - tg_id=tg_id, - symbol=symbol, - leverage_to_buy=leverage_to_buy, - leverage_to_sell=leverage_to_sell, - ) + if trade_mode == "Both_Sides" and margin_type == "ISOLATED_MARGIN": + await set_leverage_to_buy_and_sell( + tg_id=tg_id, + symbol=symbol, + leverage_to_buy=leverage_to_buy, + leverage_to_sell=leverage_to_sell, + ) + else: + await set_leverage( + tg_id=tg_id, + symbol=symbol, + leverage=leverage, + ) if reverse_side == "Buy": real_side = "Sell"