INNER CODE UNIT · Python

place_order

flukelaster/ai-trading-agent · mt5_bridge/main.py:262

async def place_order(req: OrderRequest):
    if not ensure_connected():
        return mt5_response(False, error="MT5 not connected")

    symbol_info = mt5.symbol_info(req.symbol)
    if symbol_info is None:
        return mt5_response(False, error=f"Symbol {req.symbol} not found")
    if not symbol_info.visible:
        mt5.symbol_select(req.symbol, True)

    # Clamp and round volume to symbol spec
    vol = req.lot
    vol_min = symbol_info.volume_min
    vol_max = symbol_info.volume_max
    vol_step = symbol_info.volume_step
    if vol_step > 0:
        vol = math.floor(vol / vol_step) * vol_step
        vol = round(vol, 10)  # avoid float precision artifacts

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…