Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 548

 
evillive:

Os dígitos também devem ser preferencialmente "arrancados" do símbolo correspondente ;)
E isso não é tudo. Para normalizar o preço de outra ferramenta, você deve tomar dígitos de outra ferramenta também, e também para a saída em comentários você não deve normalizar um número real, mas fazer DoubleToString();
 
evillive:

Os dígitos também devem ser preferencialmente "puxados" do símbolo apropriado ;)

Obrigado, está funcionando.
 
artmedia70:
E isso não é tudo. Além disso, não devo normalizar o número real, mas usar o DoubleToString();

para produzi-lo em comentários.

Não quero saber de comentários, o mais importante para mim é abrir pedidos, mas o terminal ainda gera um erro, mesmo com o DoubleTtoStr(), ele escreve preços errados.

 
Example2:

Não quero saber de comentários, o mais importante é que os pedidos seriam abertos, mas o terminal ainda gera um erro, mesmo com o DoubleTtoStr(), ele escreve os preços errados.

As observações feitas são corretas. A normalização às vezes falha, mas não é boa. Você deve escrever para os desenvolvedores no MetaTrader 4 Client Terminal build 610 para verificação. Mas eu só consegui reproduzir duas vezes a normalização incorreta

DoubleTtoStr() irá cortar, mas o número em si não mudará por causa disso, pode causar um erro ao comparar variáveis, fazer pedidos, etc. Não posso dizer agora como é importante quando se estabelece um pedido 1 no 16º bit, mas comparar números é definitivamente incorreto.

 
GSB:

As observações que você fez são corretas, mas o fato de que a normalização às vezes falha não é bom. Você deve escrever para o MetaTrader 4 Client Terminal build 610 para os desenvolvedores para verificação. Mas eu só consegui reproduzir a normalização incorreta por duas vezes

DoubleTtoStr() irá cortar, mas o número em si não mudará por causa disso, pode causar um erro ao comparar variáveis, fazer pedidos, etc. Não posso dizer agora como é importante quando se estabelece um pedido 1 no 16º bit, mas comparar números é definitivamente incorreto.

O Expert Advisor abre os pedidos apenas uma vez, então ele tem que ser escrito para cada par separadamente?
 
Example2:
O Expert Advisor abre ordens de vez em quando, então tem que ser escrito para cada par separadamente?
Não, não tem. É improvável que os pedidos abram "intermitentemente" por este motivo, olhe para o registro e antes de fazer um pedido, certifique-se de ResetLastError(); e então se(GetLastError()>1) Print(GetLastError() ); e certifique-se de corrigir o erro com Dígitos
 
GSB:
Não, você não tem. É improvável que os pedidos abram "intermitentemente" por este motivo, veja o log e antes de fazer um pedido, certifique-se de ResetLastError(); e então se(GetLastError()>1) Print(GetLastError() ); E certifique-se de corrigir o erro dos Dígitos

.

GetLastError() diz "preços errados". Já levei os Dígitos separadamente para cada par de moedas.
 
Example2:

GetLastError() diz "preços errados". Dígitos que eu já tomei separadamente para cada par de moedas.

Você já levou em conta o nível de parada? Verifique o que é com o roteiro
 
GSB:

O nível de parada foi levado em conta? O que significa, verifique com o roteiro


Eu tenho ordens de mercado.

 

129 erro ocorre quando o preço tem tempo de mudar antes que o CD execute seu pedido, use um deslizamento maior.

Razão: