realtrademaster / EVIDENCE LAB

MT5 execution / demo exercise

MT5 error 10030 and unsupported filling modes

MT5 return code 10030 means the trade server rejected the requested filling policy. Check the execution mode and allowed policies for the exact broker symbol before retrying.

A 0.20-lot request meets 0.12 lot of available volume

Suppose a demo symbol uses Market Execution and allows Immediate or Cancel (IOC) only. An EA sends an immediate market order for 0.20 lot with Return as the fill policy. What should you check, and what would confirm an actual fill?

Reveal the rejection and the possible partial fill

Return is unavailable for an immediate market order under Market Execution. IOC is the permitted policy in this example. If the strategy allows a partial fill and 0.12 lot executes under IOC, the remaining 0.08 lot is cancelled. Check the broker-confirmed deal volume and the final order state to verify both outcomes.

If another symbol allowed Fill or Kill (FOK), a FOK request for 0.20 lot would require the full amount to execute. A total of 0.12 lot available under the request's conditions would be insufficient. The full amount can be made up of more than one deal.

Check the exact request on demo

  1. Identify the request. Log the broker's exact symbol, order type, submitted type_filling and server return code. Separate an immediate market order from the placement of a pending order. MetaQuotes documents Return for ordinary pending-order placement.
  2. Read the symbol settings. Use SYMBOL_TRADE_EXEMODE for the execution mode and SYMBOL_FILLING_MODE for the symbol's fill-policy flags. Interpret those flags and map them to an allowed ORDER_TYPE_FILLING value. The bitmask and the request enum use different values.
  3. Preserve the strategy's execution rule. Decide whether a partial fill is acceptable before selecting IOC. If the strategy requires the entire amount and the symbol cannot support that condition, skip the demo setup and review the configuration.
  4. Check the result and deals. OrderCheck can help validate a request before submission. After a demo attempt, inspect the actual server result, matching deals and final order state. Keep the rejected request separate from any later fill.

If your return code is 10016, use the invalid stops guide. If your broker uses a different instrument name, start with the exact symbol check.

Check what a reported outcome can tell you

Autobot can execute analyst signals on a configured MT5 account. In TradeMaster Discord, compare a win and a stop loss from a dated bot report. Then use the demo worksheet to check which broker records would confirm your own fill.

MetaQuotes references