INNER CODE UNIT · Python
close_all_positions
flukelaster/ai-trading-agent · mt5_bridge/main.py:392
async def close_all_positions(symbol: str | None = None):
if not ensure_connected():
return mt5_response(False, error="MT5 not connected")
if symbol:
positions = mt5.positions_get(symbol=symbol)
else:
positions = mt5.positions_get()
if not positions:
return mt5_response(True, data={"closed": 0})
results = []
for pos in positions:
close_type = mt5.ORDER_TYPE_SELL if pos.type == mt5.ORDER_TYPE_BUY else mt5.ORDER_TYPE_BUY
tick = mt5.symbol_info_tick(pos.symbol)
price = tick.bid if pos.type == mt5.ORDER_TYPE_BUY else tick.ask
request = {