INNER CODE UNIT · Python
vol
flukelaster/ai-trading-agent · mt5_bridge/main.py:278
vol = math.floor(vol / vol_step) * vol_step
vol = round(vol, 10) # avoid float precision artifacts
vol = max(vol, vol_min)
vol = min(vol, vol_max)
if vol != req.lot:
logger.info(f"Volume adjusted: {req.lot} → {vol} (min={vol_min}, step={vol_step}, max={vol_max})")
tick = mt5.symbol_info_tick(req.symbol)
if tick is None:
return mt5_response(False, error="Cannot get tick")
order_type = mt5.ORDER_TYPE_BUY if req.type.upper() == "BUY" else mt5.ORDER_TYPE_SELL
price = tick.ask if order_type == mt5.ORDER_TYPE_BUY else tick.bid
request = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": req.symbol,
"volume": vol,