Erros, bugs, perguntas - página 1572

 

MT4/950/32. Perda de dígitos ao mudar de perfil

Quando mudo o perfil usando o ícone da barra de ferramentas, perco imediatamente dígitos na escala de preços (imagem à esquerda). Depois, quando se muda o gráfico, seleccionando outro separador - os dígitos são restaurados (imagem à direita). Windows 8.1/32. Resolução 1024x768, também tentei 1280x1024. A escala é de 125%. Um dígito foi perdido em 4 caracteres, dois em cinco.

Deve ter começado logo após ter aumentado o tamanho da fonte em MT4 para MT5

 

CHART_SHIFT_SIZE não funciona com tendências

void OnStart()
{
        ::ChartSetInteger( 0, CHART_SHIFT, true );
        for ( int i = 50; i >= 10; i-- )
        {
                ::ChartSetDouble( 0, CHART_SHIFT_SIZE, (double)i );
                ::ChartRedraw();
                ::Sleep( 100 );
        }
}
Dinâmica como no teste391.ex5 era esperada
Arquivos anexados:
Test391.ex5  5 kb
 

Não consigo descarregar os meus ficheiros do Armazém através do editor MT4 - recebo um erro

2016.05.05 15:11:05.427 Storage failed to read http data (storage.mql5.com:443 read failed [12152])
 
Karputov Vladimir:

Não consigo descarregar os meus ficheiros do Armazématravés do editor MT4- recebo um erro

E o erro está apenas num editor. No mesmo computador, numa outra pasta MT4 e no seu editor, os códigos são facilmente descarregados da loja.
 
Caros programadores, por favor introduzam um namespace como nas línguas C.
 

Quanto tempo vai durar que cada vez que actualizamos a compilação, o código deixa de compilar! E se compilar, não funciona da mesma maneira (o que é ainda pior). Quem precisa de uma linguagem de programação deste tipo?

Admiro a paciência do A100 enquanto escrupulosamente examinava esses insectos, estou tão enojado.

Alguém sugeriu acima que o A100 deveria construir testes para verificar o compilador, mas é engraçado como são os utilizadores que têm de lidar com este problema, não os programadores do compilador.

Mais importante ainda, tudo isto é trabalho de um macaco. Passar anos de trabalho árduo por uma equipa de programadores (e portanto muito dinheiro) e anos de trabalho árduo por utilizadores que têm de reescrever o seu código muitas vezes, e tudo isto para quê?Reinventar a roda chamada "o compilador C++" (com ligeiras modificações) em vez de simplesmente utilizar algum compilador de código aberto (ou mesmo comprar um) e modificá-lo de acordo com as suas necessidades num par de meses.

Mas não, formas simples não são para nós... É muito mais importante vangloriarmo-nos orgulhosamente de termos nós próprios um bom bigode, e com cada nova construção somos capazes de recriar um pouco por pouco a nossa bicicleta.


E por falar em coisas concretas, apoio totalmente a ideia da A100 no que diz respeito à possibilidade de desligar a optimização, por exemplo, para fazer os modos Debug e Release como em muitos compiladores reais.

Pessoalmente, devido a esta optimização que está a elogiar, continuo a manter o build 1159 porque os meus projectos compilam em 2 segundos com ele e compilam em 20 segundos com builds posteriores. Um ligeiro aumento de desempenho não resolve nada. A maior parte do meu tempo é gasto em desenvolvimento e edição de programas.

[Excluído]  
Alexey Navoykov:

Pessoalmente, ainda estou em construção 1159 por causa desta optimização que está a elogiar, porque os meus projectos compilam em 2 segundos e compilam em 20 segundos em construções posteriores. Um pequeno aumento de desempenho não me resolve nada. A maior parte do tempo é gasto em desenvolvimento e edição de programas.

Um projecto com 100Kb de código fonte compila em menos de um segundo em 1325 construções. OOP sólido, muitas funções e sobrecargas virtuais, modelos, apontadores, modificador de constância (sempre que possível). Sem DLL e OpenCL.

Gostaria de descobrir a razão dos vossos atrasos. Talvez seja constante que ajude o compilador a optimizar rapidamente. Nunca encontrei desfasamentos. Por favor, forneça-me o código fonte da kodobase que está a abrandar.

Sobre a sua própria bicicleta na forma de um compilador. Levar o projecto de outra pessoa para revisão tem os seus prós e os seus contras. Penso que, tendo ponderado todos os prós e contras, teria inicialmente inclinado a minha própria bicicleta. Claro que, quando tal decisão foi tomada, ninguém pensou que haveria uma tal emboscada sobre o timing e as capacidades da língua/compilador. Algumas sobreavaliações dos seus poderes, ou talvez subavaliações da complexidade da tarefa. Claro, muito dinheiro foi investido no desenvolvimento da bicicleta.

 
Anton Zverev:

Gostaria de descobrir a razão dos vossos atrasos. Talvez seja constante que ajuda o compilador a optimizar rapidamente. Nunca encontrei desfasamentos. Por favor, por favor, dê-me um código fonte da kodobase que está a abrandar.

Tem muito provavelmente funções gigantescas sob a forma de bobinas de texto.

O optimizador tem de fazer muitos passes em tais fragmentos de código e melhorá-lo vezes sem conta. É suficiente reduzir o tamanho das funções para que o optimizador acelere drasticamente.

Bem, deve definitivamente mudar para as construções mais recentes, uma vez que estamos constantemente a melhorar tanto a qualidade como a velocidade nelas.

[Excluído]  
Renat Fatkhullin:

É provável que tenha funções gigantescas sob a forma de bobinas de texto.

Um optimizador tem de fazer muitas passagens em tais peças, melhorando o código vez após vez. É suficiente reduzir o tamanho das funções para que o optimizador acelere drasticamente.

Bem, deve definitivamente mudar para as construções mais recentes, uma vez que estamos constantemente a melhorar tanto a qualidade como a velocidade nelas.

É provavelmente também uma questão de restos de texto. Eu, pelo menos, não os tenho.

Uma vez ouvi de vencedores de olimpíadas internacionais de programação que as funções deveriam ser um máximo de 20 linhas (condicional). Se mais, então arquitectonicamente/algoritmicamente não é óptimo.

Ao olhar através das fontes de Roman Yelizarov, há uma enorme quantidade de funções simples com ninhos selvagens. E quase todas elas têm até cinco linhas de comprimento. Eu próprio sou uma lagarta em comparação com este tufo intelectual.... É por isso que não se torna tão fixe, por muito que eu tenha tentado no meu tempo.

Роман Елизаров
Роман Елизаров
  • www.lektorium.tv
Занимается профессиональной разработкой ПО для биржевой и брокерской деятельности более 12 лет. Координатор группы проектов в компании Devexperts, участвует в разработке торговой платформы thinkorswim. Эксперт по...
 

Ao passar o cursor sobre objectos sobrepostos, é apresentada a descrição do objecto de fundo em vez do objecto de topo. Isto é pronunciado em objectos OBJ_EVENT. Vejo vermelho, mas a descrição é de azul.