- 2019.01.30
- www.mql5.com
Boa noite a todos,
Estou tendo problemas com realização de transações com meu robô, eu deixo uma venda por exemplo sell limit, depois eu deleto a mesma e quando vou adicionar outra venda apresenta erro, já tentei utilizando a biblioteca Ctrade e manualmente, segue o erro apresentado, a primeira mensagem é da primeira transação que funciona e a segunda é a que apresenta erro, não sei o que pode ser:
OBS: Penso que talvez eu esteja deletando a primeira ordem de maneira errada para dar erro apenas na segunda orden do dia, alguém consegue me ajudar por favor?
O trecho à seguir é onde coloco a ordem de venda:
O próximo trecho é onde eu deleto a primeira ordem que foi cancelada sem ser executada que funciona normalmente e não apresenta erro:
Muito obrigado
Muito obrigado pelo seu auxílio,
Então no Sell Limit quando utilizo o preço atual está acima da ordem, já tentei também o Sell Stop e não dá certo.
A questão é que algumas vendas dão certo e sempre para em algumas, já chequei item a item do preço não consigo identificar.
precisa ver se o preço esta coerente... qual o preço atual na hora de tentar sell limit?
dervando Júnior:
X 2020.05.09 18:27:17.003 2020.04.01 12:10:26 failed sell stop 1 WIN$ at 70740 sl: 71100 tp: 70030 [Invalid price]
Ao invés de testar no WIN$, tentou no WIN@D ou WIN$D (séries sem ajuste)?
Perdi um tempão tentando debugar um código que falhava de vez em quando e depois descobri que o erro não era meu, mas estava nas séries.
Vale a pena conferir também a qualidade do histórico (se tem buraco, pode pular o preço e depois ficar com invalid price).
Ao invés de testar no WIN$, tentou no WIN@D ou WIN$D (séries sem ajuste)?
Perdi um tempão tentando debugar um código que falhava de vez em quando e depois descobri que o erro não era meu, mas estava nas séries.
Vale a pena conferir também a qualidade do histórico (se tem buraco, pode pular o preço e depois ficar com invalid price).
Anderson Almeida, não sei nem como te agradecer, estou dias e dias tentando fazer funcionar e realmente não encontro problemas no código, eu tentei o WIN@D e o WIN$D também apresentou o problema, porém como você me alertou com esses problemas de séries eu utilizei o corrente WINM20 e funciona perfeitamente.
Agora você sabe me ajudar se tem como eu fazer esse teste com dados históricos? visto que utilizando o WINM20 não tem informações antigas.
Um Grande abraço, muito obrigado
Anderson Almeida, não sei nem como te agradecer, estou dias e dias tentando fazer funcionar e realmente não encontro problemas no código, eu tentei o WIN@D e o WIN$D também apresentou o problema, porém como você me alertou com esses problemas de séries eu utilizei o corrente WINM20 e funciona perfeitamente.
Agora você sabe me ajudar se tem como eu fazer esse teste com dados históricos? visto que utilizando o WINM20 não tem informações antigas.
Um Grande abraço, muito obrigado
Fico feliz que tenha ajudado, sei bem como é frustrante bater cabeça com esses detalhes sem conseguir avançar :)
Pode experimentar as outras séries contínuas e mexer nos tempos (o meu aqui tinha dado certo com o win@D desde 2019, para anos anteriores já deu pau).
Também não sei se testou, mas pode tentar no seu código usar a função m_symbol.NormalizePrice( *seu preço*) no seu preço, st e tp usando a biblioteca
#include <Trade\SymbolInfo.mqh> |
- 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 noite a todos,
Estou tendo problemas com realização de transações com meu robô, eu deixo uma venda por exemplo sell limit, depois eu deleto a mesma e quando vou adicionar outra venda apresenta erro, já tentei utilizando a biblioteca Ctrade e manualmente, segue o erro apresentado, a primeira mensagem é da primeira transação que funciona e a segunda é a que apresenta erro, não sei o que pode ser:
OBS: Penso que talvez eu esteja deletando a primeira ordem de maneira errada para dar erro apenas na segunda orden do dia, alguém consegue me ajudar por favor?
O trecho à seguir é onde coloco a ordem de venda:
O próximo trecho é onde eu deleto a primeira ordem que foi cancelada sem ser executada que funciona normalmente e não apresenta erro:
Muito obrigado