Ordem de compra de ações sendo rejeitada

 

Boa tarde! 

Estou tentando enviar ordem de compra pelo gráfico do Metatrader da Rico e está sendo rejeitada, conforme imagem em anexo.

Enviei uma ordem buy stop (acima do preço corrente), mas também testei usando uma ordem buy limit (abaixo do preço atual)  e obtive a mesma mensagem de rejeição. 

Fiz nova tentativo de envio de ordem buy Stop. Segue o registro no "Diário" do Metatrader.

2023.08.24 13:59:09.236 Trades 'XXXXXXX': buy stop 100 ITSA4 at 9.43

2023.08.24 13:59:09.367 Trades 'XXXXXXX': accepted buy stop 100 ITSA4 at 9.43

2023.08.24 13:59:09.368 Trades 'XXXXXXX': buy stop 100 ITSA4 at 9.43 placed for execution (Order Ack. Sending to OMS...)

2023.08.24 13:59:09.378 Trades 'XXXXXXX': rejected buy stop 100 ITSA4 at 9.43 (Account:'XXXXXXX' Exchange:'XBS)

Efetuei uma ordem via código MQL5 para tentar obter maiores detalhes e retornou o Erro 10006 - TRADE_RETCODE_REJECT (Solicitação rejeitada), o que não ajuda muito.

Entrei em contato com o suporte da Corretora que simplesmente informou que não identificaram nenhuma ordem rejeitada e pediram para procurar o suporte do Metatrader....

Insisti que o servidor do metatrader da Corretora deveria ter alguma log detalhando o erro, mas ignoraram e deram a mesma resposta anterior.

Abri outra chamado, mas ainda não retornaram.

Alguém já teve este tipo de problema e poderia me ajudar? Estou fazendo algo errado?


Agradeço qualquer ajuda. 

Arquivos anexados:
 
eudesrst:

Boa tarde! 

Estou tentando enviar ordem de compra pelo gráfico do Metatrader da Rico e está sendo rejeitada, conforme imagem em anexo.

Enviei uma ordem buy stop (acima do preço corrente), mas também testei usando uma ordem buy limit (abaixo do preço atual)  e obtive a mesma mensagem de rejeição. 

Fiz nova tentativo de envio de ordem buy Stop. Segue o registro no "Diário" do Metatrader.

2023.08.24 13:59:09.236 Trades 'XXXXXXX': buy stop 100 ITSA4 at 9.43

2023.08.24 13:59:09.367 Trades 'XXXXXXX': accepted buy stop 100 ITSA4 at 9.43

2023.08.24 13:59:09.368 Trades 'XXXXXXX': buy stop 100 ITSA4 at 9.43 placed for execution (Order Ack. Sending to OMS...)

2023.08.24 13:59:09.378 Trades 'XXXXXXX': rejected buy stop 100 ITSA4 at 9.43 (Account:'XXXXXXX' Exchange:'XBS)

Efetuei uma ordem via código MQL5 para tentar obter maiores detalhes e retornou o Erro 10006 - TRADE_RETCODE_REJECT (Solicitação rejeitada), o que não ajuda muito.

Entrei em contato com o suporte da Corretora que simplesmente informou que não identificaram nenhuma ordem rejeitada e pediram para procurar o suporte do Metatrader....

Insisti que o servidor do metatrader da Corretora deveria ter alguma log detalhando o erro, mas ignoraram e deram a mesma resposta anterior.

Abri outra chamado, mas ainda não retornaram.

Alguém já teve este tipo de problema e poderia me ajudar? Estou fazendo algo errado?


Agradeço qualquer ajuda. 

O sistema esta lhe protegendo, voce quer enviar a ordem a mercado mesmo? Recomendo a leitura https://www.metatrader5.com/pt/mobile-trading/android/help/trade/general_concept/order_types
Tipos de Ordens - Princípios Gerais - Negociação - MetaTrader 5 para Android - Ajuda para o MetaTrader 5 Android
  • www.metatrader5.com
A plataforma móvel MetaTrader 5 permite aos usuários preparar e emitir solicitações à corretora para executar...
 
Ricardo Rodrigues Lucca #:
O sistema esta lhe protegendo, voce quer enviar a ordem a mercado mesmo? Recomendo a leitura https://www.metatrader5.com/pt/mobile-trading/android/help/trade/general_concept/order_types

Obrigado, pelo retorno.

Não entendi sua resposta. Não quero e não estou enviando uma ordem a mercado. Estou enviando uma ordem pendente (buy stop) com o preço acima do atual, conforme descrito no link que você encaminhou:

Ordens pendentes...

"Buy Stop – uma ordem stop de compra para ser executada no preço de Ask a um valor igual ou superior ao especificado na ordem. O preço atual é menor do que o valor da ordem. Normalmente, ordens desse tipo são colocadas na expetativa de que o preço do instrumento ultrapasse certo nível e continue o seu crescimento."


 
Bom dia, realmente muito estranho esse erro, e ainda mais estranho, eu acho, é que, aparentemente, a corretora não tem a preocupação, o interesse em apresentar uma explicação ou solução pra questão... Esse tema já foi discutido nesse outro tópico, e naquela ocasião não se chegou a uma solução... A diferença naquele caso é que as ordens que apresentavam erro estavam sendo enviadas via algoritmo, e foi passada a informação que as ordens manuais eram aceitas...
 
eudesrst #:

Obrigado, pelo retorno.

Não entendi sua resposta. Não quero e não estou enviando uma ordem a mercado. Estou enviando uma ordem pendente (buy stop) com o preço acima do atual, conforme descrito no link que você encaminhou:

Ordens pendentes...

"Buy Stop – uma ordem stop de compra para ser executada no preço de Ask a um valor igual ou superior ao especificado na ordem. O preço atual é menor do que o valor da ordem. Normalmente, ordens desse tipo são colocadas na expetativa de que o preço do instrumento ultrapasse certo nível e continue o seu crescimento."


A sim, eu me enganei confundi lendo a foto da boleta, no interpreta as linhas ali e pensei que estava fazendo o inverso, mesmo tendo afirmado no texto o contrario. Desculpas.

Não sei tu chegou a ver questão de saldo? Eu já vi nessa corretora se tiver ordens aberto elas "descontam" da margem de operação e podem bloquear outras operações.

 
Ricardo Rodrigues Lucca #:

A sim, eu me enganei confundi lendo a foto da boleta, no interpreta as linhas ali e pensei que estava fazendo o inverso, mesmo tendo afirmado no texto o contrario. Desculpas.

Não sei tu chegou a ver questão de saldo? Eu já vi nessa corretora se tiver ordens aberto elas "descontam" da margem de operação e podem bloquear outras operações.

Sem problemas. O saldo que aparece no MT5 cobriria a compra.
 
eudesrst #:
Sem problemas. O saldo que aparece no MT5 cobriria a compra.

Eu vou te dizer que não sei, acontece em todos os ativos?

Eu opero BOVA11 ai nessa corretora sem muitos problemas. Os problemas que tenho são mais por causa de cancelamento de ordem que eles devolvem reject e acontecia do metatrader travar (até ser posto em assincrono pra resolver) ou como esse problema de margem que falei antes porque eu abro muita ordem pendente.

EDIT: No final de semana me ocorreu, ja tentou uma solução bem... Windows. Cancelar a contratação do mt5 e esperar uns - 5 - minutos e dai recontrata-lo? Para verificar se não houve algum problema de sincronismo entre os sistemas da corretora... (tenso se isso solucionar)
 

Poderia postar um código de exemplo que vc utilizou quando fez um EA para testar, por favor? É conta netting ou hedge? Vc tentou rnviar a ordem com diferentes parâmetros (ex., com e sem tp e sl; num preço menor do que a mercado; etc.), só para ver o que acontece? Quando vc executa um EA e envia uma ordem, o modo de execução é o mesmo do resultado da função SymbolInfoInteger com o parâmetro SYMBOL_TRADE_EXEMODE?


Não sei porque quando você envia uma ordem manualmente continua acontecendo esse erro. Entendo um pouco mais de EAs, então essas seriam questões que eu testaria/tentaria responder para achar uma solução. É algo que pensei por agora e podem ser um ponto de partida.


Edit: outra coisa: quando vc tenta usar o EA no testador de estratégia, a mensagem de erro recebida é a mesma?

 
Ricardo Rodrigues Lucca #:

Eu vou te dizer que não sei, acontece em todos os ativos?

Eu opero BOVA11 ai nessa corretora sem muitos problemas. Os problemas que tenho são mais por causa de cancelamento de ordem que eles devolvem reject e acontecia do metatrader travar (até ser posto em assincrono pra resolver) ou como esse problema de margem que falei antes porque eu abro muita ordem pendente.

EDIT: No final de semana me ocorreu, ja tentou uma solução bem... Windows. Cancelar a contratação do mt5 e esperar uns - 5 - minutos e dai recontrata-lo? Para verificar se não houve algum problema de sincronismo entre os sistemas da corretora... (tenso se isso solucionar)
Esta meio corrido. Tentei comprar outro ativo (POMO4) e deu o mesmo erro. Vou aguardar o retorno da corretora... Se não conseguir chegar em nenhuma solução vou tentar sua sugestão de cancelar e recontratar...Obrigado.
Arquivos anexados:
 
Emanuel Amorim #:

Poderia postar um código de exemplo que vc utilizou quando fez um EA para testar, por favor? É conta netting ou hedge? Vc tentou rnviar a ordem com diferentes parâmetros (ex., com e sem tp e sl; num preço menor do que a mercado; etc.), só para ver o que acontece? Quando vc executa um EA e envia uma ordem, o modo de execução é o mesmo do resultado da função SymbolInfoInteger com o parâmetro SYMBOL_TRADE_EXEMODE?


Não sei porque quando você envia uma ordem manualmente continua acontecendo esse erro. Entendo um pouco mais de EAs, então essas seriam questões que eu testaria/tentaria responder para achar uma solução. É algo que pensei por agora e podem ser um ponto de partida.


Edit: outra coisa: quando vc tenta usar o EA no testador de estratégia, a mensagem de erro recebida é a mesma?

Bom dia.
Segue:
2023.08.28 08:45:02.529 Network 'XXXXXXX': trading has been enabled - netting mode

2023.08.28 08:45:21.465 RoboTest (ITSA4,H1) Execution mode: SYMBOL_TRADE_EXECUTION_EXCHANGE

//Código para obter o modo de execução:
  ENUM_SYMBOL_TRADE_EXECUTION eExecutionMode;
  eExecutionMode = (ENUM_SYMBOL_TRADE_EXECUTION) SymbolInfoInteger(gl_Ativo_0,SYMBOL_TRADE_EXEMODE);
  Print( "Execution mode: ", EnumToString( eExecutionMode ) );


//Código do envio de ordem de compra:

                gl_RetornoCompra=Trade.BuyStop(loc_NumeroLotes,gl_PrecoCompra,gl_Ativo_0,0,0,ORDER_TIME_GTC,0,"[Compra]");



                 if(!gl_RetornoCompra)

                  {

                     Print("[e] Erro ao enviar a ordem de compra: preço= ", gl_PrecoCompra, " Erro ",Trade.ResultRetcode());

                  }

Na conta demo ou no testador de estratégias funciona perfeitamente.




Arquivos anexados:
 
eudesrst #:
Esta meio corrido. Tentei comprar outro ativo (POMO4) e deu o mesmo erro. Vou aguardar o retorno da corretora... Se não conseguir chegar em nenhuma solução vou tentar sua sugestão de cancelar e recontratar...Obrigado.

Estranho mesmo esse comportamento. Não sei se ajuda, mas a parte de inicialização da CTrade eu sempre configuro esses 3. O SetDeviationInPoints não é usado no mercado brasileiro e pela explicação do manual nem faz sentido, mas lembro que tive uns problemas de exibição de stops e dai sempre deixo configurado como esta. O TypeFilling já vi corretora rejeitar ordem quando ta no valor padrão então passei a adotar esse que é o padrão dos HBs (deixar a ordem ser executada parcialmente, permanecer no nivel). O asyncMode eu já tinha falado antes que é pra caso eu cancele a ordem o EA não travar porque vem como ordem rejeitada. Outra coisa, que dai tu pode checar na boleta manual algumas corretoras so deixar usar o Today ou o GTC como expiração e negam no metatrader o specified day ser usado.

   trade.SetDeviationInPoints(5);
   trade.SetTypeFilling(ORDER_FILLING_RETURN);
   trade.SetAsyncMode(true);
Razão: