Erros, bugs, perguntas - página 1576
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Que princípio será usado para colocar produtos nesta faixa?
e os produtos de vendedores autorizados vão para lá? Posso ver o meu produto neste banner? folheei 30 páginas e não vi o meu...
Eu não interfiro. Tenho 26 anos de programação non-stop sob o meu cinto.
Os avisos são essencialmente erros se estamos a falar do sector financeiro. E todos os milhares de relatos de "perda de sinal, perda de precisão, perda em fantasmas, etc." são veredictos sobre a qualidade do código. Aparentemente, não se compreende bem as implicações.
Por favor forneça de forma suficientemente completa o pedaço de código que o compilador apontou como um erro.
Sem ela, toda esta discussão parece desagradável e injusta.
Ok, Renat, estes argumentos sobre a "qualidade do código" são irrelevantes para o tópico de discussão. Pois estamos aqui apenas a falar de compilabilidade, ou seja, a exequibilidade do código. E a perda de precisão, etc. - este é um assunto pessoal do programador, por assim dizer, da sua responsabilidade. A conversão implícita, por exemplo, int para short não é proibida pelo padrão linguístico, certo? Então porque é que estamos a pregar agora?
OK, encontrei um destes insectos:
que eu recebo no diário de bordo:
CClass' - declaração sem tipo TestScript.mq5 16 9
CClass' - vírgula prevista TestScript.mq5 16 9
Em construções anteriores, tudo estava bem.
OK, Renat, estes argumentos sobre a "qualidade do código" são irrelevantes para o tópico de discussão. Pois estamos apenas a falar de compilabilidade, ou seja, a exequibilidade do código aqui. E a perda de precisão, etc. - este é um assunto pessoal do programador, por assim dizer, da sua responsabilidade. A conversão implícita, por exemplo, int para short não é proibida pelo padrão linguístico, certo? Então porque é que estamos a pregar agora?
OK, encontrei um destes insectos:
que eu recebo no diário de bordo:
Em construções anteriores, tudo estava bem.
Sim, este bug já foi discutido (provavelmente, com A100) e corrigido a 4 de Maio. Excedeu-o com o controlo de tipo, aparentemente.
Anexei o último MetaEditor build 1329, que não tem este erro. Por favor, verifique lá.
O lançamento do MT5 terá lugar no dia 12 de Maio.
Estava bem em construções anteriores.
No seu código, não está a devolver um ponto constante a um objecto privado. Acontece que funções de terceiros (em termos de visibilidade variável) podem mudar aparentemente algo que não deveria ser arquitectonicamente acessível a eles, uma vez que o programador especificou privado.
Sempre que quero devolver um ponteiro a um objecto privado, especifico necessariamente um modificador constante. No vosso caso, eu colocaria uma deformação.
Não sou uma ave que voa alto, por isso estou a pedir. Tem de usar este código algures ou é apenas preguiçoso definir const?
Dois dias desperdiçados praticamente o tempo todo (na minha idade já é muito), e eu tinha planeado usá-los de uma forma ligeiramente diferente.
Por isso, mais uma vez, tiro o meu chapéu à A100 pela sua paciência. Eu próprio estou cansado, é mais fácil para mim sentar-me na velha construção, que funciona bem, do que procurar causas de insectos na nova construção, trabalhando no balcão de serviço. Ou alguém me pagará por este trabalho?
Sim, o servicedesk é uma coisa fixe para os testadores terceiros fazerem de graça. Obviamente que não foi feito para isso, mas na realidade tornou-se exactamente o empregador de terceiros testadores que trabalham gratuitamente. Se não fossem estes relatórios de erros, o compilador teria demorado muito mais tempo a compilar.
Todos argumentarão que deve haver retribuição por encontrar um insecto, como é prática corrente no mundo. O A100 deve receber o salário do provador estatal. E, aparentemente, um ano de salário de testador.
Sim, este erro já foi discutido (talvez com A100) e corrigido já no dia 4 de Maio. Têm um controlo de tipo exagerado, aparentemente.
Anexei o último MetaEditor build 1329 que não contém este erro. Por favor, verifique lá.
O lançamento do MT5 será no dia 12 de Maio.
Verificado. Agora quase não há erros de compilação, excepto por algumas estranhas maravilhas que não posso reproduzir separadamente do programa, mas que consigo contornar por alguns meios aleatórios.
Mais uma vez, compila bem separadamente, mas gera um erro no meu programa.
Se acrescentar uma linha na função principal em qualquer lugar (por exemplo, após o retorno):
trabalho.set(arr[0]);
compila normalmente.
O programador parece ter ido demasiado longe na optimização.
E também há algumas falhas no tempo de execução. Por exemplo, atribuo um valor a algum membro de uma estrutura, mas mais tarde verifica-se que o valor lá é antigo, ou seja, nada foi atribuído. Se eu acrescentar uma linha com alguma operação arbitrária perto dela, tudo se torna normal. Estes bugs começaram desde aquela construção de Outono, quando se optimizou o compilador. No fim de contas, tudo ainda está cru.
Além disso, a compilação em si ainda demora 20 segundos, enquanto a compilação 1159 demorou apenas 1-2 segundos. Ao mesmo tempo, não notei qualquer aceleração significativa dos meus programas, o ganho está dentro de 10-20%. Assim pode esquecer essas histórias sobre a velocidade de 2-10x. Pode acontecer com amostras de teste especialmente seleccionadas, mas temos aplicações reais, não falsas.
Ao todo, uma compilação 10-20 vezes mais lenta para um desempenho um pouco mais elevado. Imho, não vale a pena. O tempo perdido pelo programador é muito mais valioso.
Ainda sou obrigado a ficar na construção de 1159.
No seu código, não está a devolver um ponto constante a um objecto privado. Acontece que funções de terceiros (em termos de visibilidade variável) podem mudar aparentemente algo que não deveria ser arquitectonicamente acessível a eles, uma vez que o programador especificou privado.
Sempre que quero devolver um ponteiro a um objecto privado, especifico necessariamente um modificador constante. No vosso caso, colocaria uma deformação.
Não sou um grande piloto, por isso estou a pedir. Tem de usar este código algures ou é apenas preguiçoso definir const?
Só escondo uma matriz em privado enquanto os próprios objectos CClass estão disponíveis para um utilizador para acesso total, é esse o objectivo. Se eu precisasse apenas para ler, colocaria const.
Todos apoiarão que deve haver retribuição por encontrar um insecto, como é prática corrente no mundo. O A100 deve receber o salário de um provador estatal. E, aparentemente, um ano de salário de testador.
Não sei se isto é um bug ou apenas uma descrição errada dos métodos CDealInfoPositionId() eTicket(). Escrevi o seguinte código
resultado
Acrescentei um pedido de histórico de negócios utilizando a funçãoHistorySelect().
resultado
Em privado apenas escondo a matriz. E os próprios objectos CClass estão à disposição do utilizador para acesso total, é esse o objectivo. Se fosse necessário apenas para leitura, eu colocaria const.
Estou a ver. Pode dizer-me em que construções isto pode ser útil? Compreendo que com esta abordagem, não se pode fazer nada com a matriz em si (redimensionar, trocar elementos, etc.). eliminar, no entanto, pode ser aplicado...
Presumo que o faça algures com um modelo, de modo que a sintaxe do operador [] seja a mesma para diferentes tipos de objectos. Em geral, poderia mostrar a utilização desta construção quando é conveniente.