Erro Invalid Price em ordem Stop

 

Boa tarde pessoal.

Estou tentando mandar ordens stop no preço de uma média simples, mas só recebo erro do INVALID PRICE.

2023.06.01 14:38:29.934 2020.01.08 13:29:00   failed buy stop 1 WIN$N at 116449 sl: 116050 tp: 116850 [Invalid price]
2023.06.01 14:38:29.934 2020.01.08 13:29:00   CTrade::OrderSend: buy stop 1.00 WIN$N at 116449 sl: 116050 tp: 116850 [invalid price]

Já tentei usar o normalizeDoube e simbolo.NormalizePrice, mas não esta funcionando.

Alguma sugestão?

Muito obrigado.
Moving Average - Indicadores de tendência - Uso de indicadores técnicos - Gráficos, análise técnica e fundamental - Ajuda para o MetaTrader 5
  • www.metatrader5.com
O Indicador Técnico Moving Average mostra o valor médio de preços em um certo período de tempo. Quando se calcula a...
 

Leia atentamente o seguinte e aplique ao seu código ...

Artigos

Que testes deve passar o robô de negociação antes da publicação no Mercado

MetaQuotes, 2016.08.10 11:04

Todos os produtos do Mercado, antes de serem publicados, passam uma revisão preliminar obrigatória para garantir um único padrão de qualidade. Neste artigo, vamos falar sobre os erros mais comuns que os desenvolvedores cometem ao trabalhar com os seus indicadores técnicos e robôs de negociação. Além disso, mostraremos como testar por si mesmo o seu produto antes de enviá-lo para o Mercado.
O anterior artigo contem informação vital para o bom funcionamento de robôs mesmo que não sejam para venda no mercado.
 
Fernando Carreiro #:

Leia atentamente o seguinte e aplique ao seu código ...

O anterior artigo contem informação vital para o bom funcionamento de robôs mesmo que não sejam para venda no mercado.

cara, desculpe não achei nada referente ao assunto do tópico.

Poderia por favor esclarecer melhor ?

 
João Bernardes #: cara, desculpe não achei nada referente ao assunto do tópico. Poderia por favor esclarecer melhor ?

A seguinte imagem está em Inglês, mas verifique se está a aplicar as regras, tal como referi no artigo que mencionei.


 
João BernardesBoa tarde pessoal. Estou tentando mandar ordens stop no preço de uma média simples, mas só recebo erro do INVALID PRICE.
2023.06.01 14:38:29.934 2020.01.08 13:29:00   failed buy stop 1 WIN$N at 116449 sl: 116050 tp: 116850 [Invalid price]
2023.06.01 14:38:29.934 2020.01.08 13:29:00   CTrade::OrderSend: buy stop 1.00 WIN$N at 116449 sl: 116050 tp: 116850 [invalid price]

Já tentei usar o normalizeDoube e simbolo.NormalizePrice, mas não esta funcionando. Alguma sugestão? Muito obrigado.

Boa tarde, João!!


Eu não negocio B3, mas, se não me falha a memória, já li em outros tópicos aqui que o preço desse ativo se move a cada 5 pontos (step). O seu EA está tentando incluir a ordem ao preço de 116449, por isso está sendo recusado, o preço correto seria 116450. Acho que você não utilizou o NormalizePrice() para esse preço. Os preços dos stops parecem corretos.

 
Vinicius de Oliveira #:

Boa tarde, João!!


Eu não negocio B3, mas, se não me falha a memória, já li em outros tópicos aqui que o preço desse ativo se move a cada 5 pontos (step). O seu EA está tentando incluir a ordem ao preço de 116449, por isso está sendo recusado, o preço correto seria 116450. Acho que você não utilizou o NormalizePrice() para esse preço. Os preços dos stops parecem corretos.

Nessa log não estava usando o  NormalizePrice(), mas ja usei ele e da o mesmo poblema.


Veja um exemplo com o  NormalizePrice():


2023.06.02 07:54:28.027 2020.01.16 15:31:00   failed sell stop 1 WIN$N at 116560 sl: 116960 tp: 116160 [Invalid price]
2023.06.02 07:54:28.027 2020.01.16 15:31:00   CTrade::OrderSend: sell stop 1.00 WIN$N at 116560 sl: 116960 tp: 116160 [invalid price]
 
João Bernardes #:

Nessa log não estava usando o  NormalizePrice(), mas ja usei ele e da o mesmo poblema.


Veja um exemplo com o  NormalizePrice():


Nao se negocia no ativo historico, so sendo backtest. Como voce chamou o simbolo.normalizePrice? Teria como colocar o log dizendo o preco de entrada, sl, tp e o ask e bid no momento da ordem?
Razão: