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.
- www.metatrader5.com
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."
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.
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.
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.
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?
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.
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?
Segue:
//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.
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);
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
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.