Erro ao enviar ordem. Código 4756

 

Senhores, boa tarde. 


EA funcional, testado meses em conta demo, primeiro dia em conta real operando liso. Segundo dia apresentou o erro em questão, com condições de entrada todas satisfeitas. A que isso pode se dever ? 


Obs: operando índice futuro na B3


//+------------------------------------------------------------------+
//| Função de Envio de Ordem                                         |
//+------------------------------------------------------------------+
void EnviarOrdem(ENUM_ORDER_TYPE tipo_ordem, double preco, double trade_volume)
{
   MqlTradeRequest request;
   MqlTradeResult result;
   ZeroMemory(request);
   ZeroMemory(result);

   request.action = TRADE_ACTION_DEAL;
   request.symbol = ativo;
   request.volume = trade_volume;
   request.magic = magic_number;
   request.type = tipo_ordem;
   request.price = (tipo_ordem == ORDER_TYPE_BUY) ? SymbolInfoDouble(ativo, SYMBOL_ASK) : SymbolInfoDouble(ativo, SYMBOL_BID);
   request.sl = (tipo_ordem == ORDER_TYPE_BUY) ? (request.price - stop_loss * SymbolInfoDouble(ativo, SYMBOL_POINT)) : (request.price + stop_loss * SymbolInfoDouble(ativo, SYMBOL_POINT));
   request.tp = (tipo_ordem == ORDER_TYPE_BUY) ? (request.price + take_profit * SymbolInfoDouble(ativo, SYMBOL_POINT)) : (request.price - take_profit * SymbolInfoDouble(ativo, SYMBOL_POINT));
   request.deviation = 10;

   MqlTradeCheckResult check;
   if(!OrderCheck(request, check))
   {
      PrintFormat("Erro ao verificar ordem. Código de erro: %d", GetLastError());
      return;
   }

   if(OrderSend(request, result))
   {
      if(result.retcode == 10009) // Código de sucesso
      {
         PrintFormat("Ordem enviada com sucesso. Tipo: %s, Preço: %.2f, Volume: %.2f", EnumToString(tipo_ordem), request.price, trade_volume);
      }
      else
      {
         PrintFormat("Ordem não executada. Retorno do servidor: %d", result.retcode);
      }
   }
   else
   {
      PrintFormat("Erro ao enviar ordem. Código de erro: %d", GetLastError());
   }
}

        


Grato desde já. 

 
Pedro Brandao DiasSenhores, boa tarde. EA funcional, testado meses em conta demo, primeiro dia em conta real operando liso. Segundo dia apresentou o erro em questão, com condições de entrada todas satisfeitas. A que isso pode se dever ? Obs: operando índice futuro na B3 Grato desde já. 

Boa noite, acredito que esse erro pode estar relacionado à ausência da informação do tipo de preenchimento da ordem (type_filling):

Execução Exchange

Esta é uma ordem de negociação para abrir uma posição no modo Exchange Execution (execução em um sistema de negociação externo). Ela requer que se especifique os seguintes 5 campos:

  • action
  • symbol
  • volume
  • type
  • type_filling

Também é possível especificar valores dos campos "magic" e "comment".


Veja também:

 
Vinicius Pereira De Oliveira #:

Boa noite, acredito que esse erro pode estar relacionado à ausência da informação do tipo de preenchimento da ordem (type_filling):


Veja também:

Boa noite amigo Vinicius, obrigado pela atenção. Nesse caso, o fato de ter operado normalmente no primeiro dia em conta real, pode estar relacionado a alguma condição de mercado específica que fez o EA utilizar diferentes tipos de preenchimento de ordem em cada uma das situações ?

 
Pedro Brandao Dias #:

Boa noite amigo Vinicius, obrigado pela atenção. Nesse caso, o fato de ter operado normalmente no primeiro dia em conta real, pode estar relacionado a alguma condição de mercado específica que fez o EA utilizar diferentes tipos de preenchimento de ordem em cada uma das situações ?

Ou ainda o mesmo tipo de preenchimento se comportou de maneira diferente por situações distintas de mercado, como volatilidade, por exemplo. 

 
Pedro Brandao Dias #Boa noite amigo Vinicius, obrigado pela atenção. Nesse caso, o fato de ter operado normalmente no primeiro dia em conta real, pode estar relacionado a alguma condição de mercado específica que fez o EA utilizar diferentes tipos de preenchimento de ordem em cada uma das situações ? [ . . . ] Ou ainda o mesmo tipo de preenchimento se comportou de maneira diferente por situações distintas de mercado, como volatilidade, por exemplo. 

Bom dia, Pedro!! Sim, também acredito que condições de mercado específicas possam ter influenciado o comportamento do preenchimento de ordens, apesar do mesmo tipo de execução configurado. Cenários possíveis:

  • Dia 1: Condições de mercado favoráveis (alta liquidez, baixa volatilidade) permitiram que o preenchimento padrão fosse suficiente.
  • Dia 2: Alterações no mercado (menor liquidez, alta volatilidade) levaram a falhas no mesmo preenchimento padrão, tornando necessário um tipo específico de preenchimento.
 
Vinicius Pereira De Oliveira #:

Bom dia, Pedro!! Sim, também acredito que condições de mercado específicas possam ter influenciado o comportamento do preenchimento de ordens, apesar do mesmo tipo de execução configurado. Cenários possíveis:

  • Dia 1: Condições de mercado favoráveis (alta liquidez, baixa volatilidade) permitiram que o preenchimento padrão fosse suficiente.
  • Dia 2: Alterações no mercado (menor liquidez, alta volatilidade) levaram a falhas no mesmo preenchimento padrão, tornando necessário um tipo específico de preenchimento.

Aparentemente problema resolvido meu amigo Vinicius. Muito obrigado pela ajuda ! Grande abraço 

 
Pedro Brandao Dias #Aparentemente problema resolvido meu amigo Vinicius. Muito obrigado pela ajuda ! Grande abraço 

De nada, meu amigo, abraço e boa sorte!! 👍