Ajuda! Aviso ao enviar ordem

 

Olá. Encontrei um aviso "implicit enum conversion" e não consegui encontrar a referência à conversão. Deixei partes do código abaixo, com *** indicando o aviso. Se alguém tiver alguma ideia, agradeço.

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

// . . .

ZerarRequest();


request.action          = TRADE_ACTION_MODIFY;
request.magic           = MagicNumber;
request.symbol          = _Symbol;
request.volume          = Lote;
request.price           = preco_entrada;
request.sl              = stop_loss;
request.tp              = take_profit;
request.order           = ObterOrdemAberta();
request.type            = OrderGetInteger(ORDER_TYPE); //***Warning***
request.type_filling    = ObterFillingType();
request.type_time       = ORDER_TIME_DAY;
request.comment         = "Modificando Entrada";

return EnviarRequisicao();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double ObterPrecoEntrada(ENUM_SINAL sinal)
  {
   MqlRates candles[];
   ArraySetAsSeries(candles, true);
   CopyRates(_Symbol, TimeFrame, 0, 2, candles);

   if(sinal == COMPRA)
      return candles[1].high;

   if(sinal == VENDA)
      return candles[1].low;

   return 0.0;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ZerarRequest()
  {
   ZeroMemory(request);
   ZeroMemory(result);
   ZeroMemory(check_result);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool EnviarRequisicao()
  {
   ResetLastError();

   PrintFormat("Request - %s, VOLUME: %.5f, PRICE: %.5f, SL: %.5f, TP: %.5f", request.comment, request.volume, request.price, request.sl, request.tp);

   if(!OrderCheck(request, check_result))
     {
      PrintFormat("Erro em OrderCheck: %d - código: %d", GetLastError(), check_result.retcode);
      return false;
     }
   if(!OrderSend(request, result))
     {
      PrintFormat("Erro em OrderSend: %d - código: %d", GetLastError(), result.retcode);
      return false;
     }

   return true;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FillingCheck(const string symbol, ENUM_TRADE_REQUEST_ACTIONS action)
  {
   ENUM_SYMBOL_TRADE_EXECUTION exec = (ENUM_SYMBOL_TRADE_EXECUTION) SymbolInfoInteger(symbol, SYMBOL_TRADE_EXEMODE);

   if(exec == SYMBOL_TRADE_EXECUTION_REQUEST || exec == SYMBOL_TRADE_EXECUTION_INSTANT)
      return -1;

   uint filling = (uint) SymbolInfoInteger(symbol, SYMBOL_FILLING_MODE);

   if(exec == SYMBOL_TRADE_EXECUTION_MARKET)
     {
      if(action != TRADE_ACTION_PENDING)
        {
         if((filling&SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK)
           {
            return ORDER_FILLING_FOK;
           }
         if((filling&SYMBOL_FILLING_IOC) == SYMBOL_FILLING_IOC)
           {
            return ORDER_FILLING_IOC;
           }

         return -1;
        }
      return -1;
     }

   return ORDER_FILLING_RETURN;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int ObterFillingType()
  {
   int symbol_filling = FillingCheck(_Symbol, TRADE_ACTION_DEAL);

   if(symbol_filling != -1)
     {
      return symbol_filling;
     }

   uint filling = (uint) SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE);

   if(filling == SYMBOL_FILLING_FOK)
     {
      return ORDER_FILLING_FOK;
     }
   else
      if(filling == SYMBOL_FILLING_IOC)
        {
         return ORDER_FILLING_IOC;
        }

   return ORDER_FILLING_RETURN;
  }
//+------------------------------------------------------------------+


⚠️ Tópico editado pelo moderador conforme observações abaixo.

 

Por favor, ao postar, observe as regras do fórum:

Agradecemos a colaboração!

 

Tente o seguinte:

request.type = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);