MT4 error 1: No error returned, but the result is unknown (ERR_NO_RESULT)

On OrderModify it usually means you sent the values the order already has. On a send or close it means the outcome is unknown.

1ERR_NO_RESULT
Check firstSafe to retry?
MaybeCould it have executed?

What it means

You see this code in GetLastError() in MQL4, after a trade function fails on the server side.

MQL4 returns 1 when a trade function didn't report an error but also didn't confirm a result.

Its most common source is OrderModify() with the same stop loss, take profit and price the order already has. Then nothing needed to change.

On OrderSend(), OrderClose() or OrderDelete() it is more serious: the result is unknown, and the trade may have happened.

Common causes

  • OrderModify() with unchanged values, often from a trailing stop that didn't move.
  • Prices that differ only beyond the symbol's digits, so they round to the same value.
  • A send or close whose answer was lost.

How to fix it

  • Compare the new values with OrderStopLoss() and OrderTakeProfit() after NormalizeDouble(x, Digits), and skip the call if they match.
  • After a 1 on a send or close, check open orders and history before doing anything else.

Example in MQL4:

if(OrderSelect(ticket, SELECT_BY_TICKET))
{
   double sl = NormalizeDouble(newSl, Digits);
   if(MathAbs(sl - OrderStopLoss()) >= Point)          // only if it moves
   {
      if(!OrderModify(ticket, OrderOpenPrice(), sl, OrderTakeProfit(), 0))
         Print("modify failed, error ", GetLastError());
   }
}

Is it safe to retry?

Check first. On a modify there is nothing to retry. On a send or close, check the account first.

Could the order have executed?

Maybe. On a modify, nothing needed to change. On a send or close, maybe.

How Tickwire handles it

On a modify, Tickwire treats it like MT5 10025, success with outcome no_change. On a send, close or delete, it treats it like MT5 10031: it looks for the effect and never sends new exposure. The MT4 code stays in the message.

All MetaTrader error codes

One API for MT4 and MT5

Clear trade outcomes, idempotent orders and an audit log. Read the error reference or the quickstart.