Why the result value of mt5 order_check is None in real MT5 account?

 

I am trying to control my MT5 accounts with Python/MetaTrader5 programs.  I have the following order request and its values in Python dictionary format.  

    request = {
        "action": mt5.TRADE_ACTION_DEAL,
        "symbol": symbol,
        "volume": volume,
        "type": action_type,
        "price": price,
        "deviation": deviation,
        "sl": action_sl,
        "tp": action_tp,
        "magic": 234000,
        "comment": "Create position",
        "type_time": mt5.ORDER_TIME_DAY,
        "type_filling": mt5.ORDER_FILLING_IOC,
    }

{'action': 1, 'symbol': 'XAUUSD', 'volume': 0.01, 'type': 0, 'price': 1807.61, 'deviation': 1, 'sl': 1806.11, 'tp': 1811.61, 'magic': 234000, 'comment': 'Create position', 'type_time': 1, 'type_filling': 1}

Somehow, the result value of mt5 order_check is None in my 2 real MT5 accounts while it has valid values in my demo account.  Does anyone know what's the reason and how to address it?  Thanks.

result = mt5.order_check(request)







OrderCheckResult(retcode=0, balance=634.7, equity=634.7, profit=0.0, margin=3.62, margin_free=631.08, margin_level=17533.149171270717, comment='Done', request=TradeRequest(action=1, magic=234000, order=0, symbol='XAUUSD', volume=0.01, price=1807.53, stoplimit=0.0, sl=1806.03, tp=1811.53, deviation=1, type=0, type_filling=1, type_time=1, expiration=0, comment='Create position', position=0, position_by=0))