MQL5

Detectar el filling mode soportado (FOK/IOC)

Lee la máscara SYMBOL_FILLING_MODE para elegir un tipo de relleno aceptado por el servidor — enviar un modo no soportado es una de las causas más frecuentes de «Unsupported filling mode».

Requisitos

MetaTrader 5, MQL5

MQL5
ENUM_ORDER_TYPE_FILLING PickFillingMode(string symbol)
{
   long mask = SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE);

   if((mask & SYMBOL_FILLING_FOK) != 0)
      return ORDER_FILLING_FOK;    // tout ou rien
   if((mask & SYMBOL_FILLING_IOC) != 0)
      return ORDER_FILLING_IOC;    // exécution partielle possible

   return ORDER_FILLING_RETURN;    // mode marché/échange par défaut
}

// Utilisation avec une MqlTradeRequest manuelle
MqlTradeRequest req = {};
req.action       = TRADE_ACTION_DEAL;
req.symbol       = _Symbol;
req.type_filling = PickFillingMode(_Symbol);

Resultado

2026.06.10 08:00:01.205  FillProbe (EURUSD,M15)  SYMBOL_FILLING_MODE = 3 (FOK|IOC)
2026.06.10 08:00:01.206  FillProbe (EURUSD,M15)  Mode retenu : ORDER_FILLING_FOK (tout ou rien)
2026.06.10 08:00:01.310  FillProbe (US500,M15)  SYMBOL_FILLING_MODE = 2 (IOC) -> ORDER_FILLING_IOC
2026.06.10 08:00:01.412  FillProbe (BTCUSD,M15)  Aucun flag -> repli ORDER_FILLING_RETURN (mode échange)
2026.06.10 08:00:01.413  FillProbe (EURUSD,M15)  « Unsupported filling mode » impossible chez ce broker
Filling ModeFOKIOCCompatibilité Broker

Snippets relacionados

Volver al Data Lab