Erros, bugs, perguntas - página 1627

 
Alexey Navoykov:
Não consigo imaginar quanto é que um projecto deste tipo teria sido construído em MQL. E em IDEs completas existem diferentes modos de compilação. Talvez se esteja a referir à construção da libertação, enquanto que na maioria das vezes a depuração seria suficiente. Mas em MT não se tem muito tempo para esperar por isso.
Além disso, são aí utilizados ficheiros pré-compilados, pelo que as construções subsequentes serão obviamente mais rápidas

Sobre as vantagens que escrevo no gedit habitual, a depuração é feita directamente no gdb, a ligação e a construção são também feitas a partir da consola gcc, a partir do IDE por vezes utiliza o QtCreator, mas apenas quando o que preciso para escrever ou depurar uma GUI :)

Cheguei a esta decisão há menos de um ano, quando me apercebi que é mais fácil carregar um editor de texto simples sem características extras e corrigir ou escrever algo, do que carregar uma IDE pesada...

 

Alexey Navoykov:
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?

Tentei muito...

Ok, dar-lhe-ei algum código para o reproduzir assim que estiver no meu computador. Mas já estou confuso com as vossas histórias de dezenas de ms sobre hardware fraco. Estamos a falar das mesmas coisas? O ficheiro do guião é .mq5? E que processador tem?

Irei esclarecer os dados quando chegar ao meu computador.
 
Slawa:
O que há para voltar?
Debug sobre a história, por alguma razão, capta a visualização completa. Assim se explica a verdade. Utilizo adicionalmente __DEBUG__. A documentação não diz muito sobre a depuração visual.
 
Comentários não relevantes para este tópico foram movidos para "Ajuda com o gridiron".
 

Procurei em kodobase até encontrar alguns grandes projectos para o MT5. Mas o que me espantou, as secções de Consultores Especialistas e indicadores estão de facto cheias de artesanato da mesma pessoa. E ele tem vindo a produzir vários deles todos os dias durante vários anos!Não sei porque está tão ansioso por fazer isto e para quê... Talvez a MQ lhe pague por isto, não sei... Claro que tudo está a ser preparado numa só ordem, mas eu pessoalmente estaria cansado de fazer apenas descrições e imagens de ecrã).

O Expert Advisor pesa cerca de 150-200 kb, mas primeiro, o código está bastante manchado, além de haver muitos fragmentos repetitivos. Bem, é a minha estimativa. Levar-me-ia várias vezes menos por volume.Em segundo lugar, o próprio código é simples, não há funções virtuais, modelos e também não há objectos dinâmicos e apontadores.Ou seja, de facto todo o código pode estar em linha. Compila bastante rapidamente, na vizinhança de 600-700 ms. Bem, em geral, é preciso encontrar um exemplo realmente volumoso e bastante complexo. E dos meus desenvolvimentos só finalizei esse projecto sob o novo compilador, todos os outros que utilizo sob o antigo, e gasto tempo nas suas revisões, não vejo a necessidade de o fazer, dada a situação actual.

 
Alexey Navoykov:

...

E entre os meus desenvolvimentos só finalizei esse projecto para o novo compilador, todos os outros utilizo o antigo, e para gastar tempo na sua adaptação, não vejo a praticidade, dada a situação actual.

Versão actual:Interfaces gráficas IX: elementos "Barra de progresso" e "Gráfico de linhas" (Capítulo 2)

 

O primeiro teste Expert Advisor TestLibrary01 compilado em 6,5 segundos. Contudo, ainda temos de estimar a quantidade de código realmente utilizada por este Expert Advisor. Além disso, a palavra "inteligente" parecerá um pouco cómica se a compararmos com a velocidade de compilação na construção antiga. Se alguém quiser familiarizar-se com ela, eu anexo o compilador da versão 1159. Por favor, renomeie o ficheiro, claro.

Isto é, de facto podemos tirar a seguinte conclusão: o tempo de compilação pode variar muitas vezes dependendo do tamanho e complexidade do código, mas uma coisa é imutável - é muito mais lento no novo compilador do que no antigo. Ao mesmo tempo, verifiquei que não há ganho significativo na velocidade do software. Se alguém quiser provar o contrário, vá em frente.

Arquivos anexados:
 
Alexey Navoykov:

Bem, o primeiro teste Expert Advisor TestLibrary01 compilado para mim em 6,5 segundos. Contudo, ainda temos de estimar a quantidade de código realmente utilizada por este Expert Advisor. Além disso, a palavra "inteligente" parecerá um pouco cómica se a compararmos com a velocidade de compilação na construção antiga. Se alguém quiser familiarizar-se com ela, eu anexo o compilador da versão 1159. Por favor, renomeie o ficheiro, claro.

Isto é, de facto, a seguinte conclusão pode ser feita: o tempo de compilação pode variar muitas vezes dependendo do tamanho e complexidade do código. Mas uma coisa é inalterada: é muito mais rápido no compilador antigo do que nos novos. Verifiquei-o e não há ganho considerável na velocidade do software. Se alguém quiser provar o contrário, vá em frente.

É claro que os projectos mais complexos do MetaTrader 5 demoram demasiado tempo a compilar. Pode mesmo demorar até 11 segundos. As mesmas versões no MetaTrader 4 são até 25 vezes mais rápidas.

Por exemplo, o mesmo projecto.

MetaTrader5:

0 error(s), 0 warning(s), compile time: 11054 msec              1       1

//---

MetaTrader4:

0 error(s), 0 warning(s), compile time: 434 msec                1       1

//---

Até agora, não é claro com o que está relacionado. Pode tentar preparar material para testes e enviá-lo para o servicedesk para verificação. Se não quiser mostrar o código dos seus projectos, pode utilizar o código dos artigos desta série como exemplo.

 
Anatoli Kazharski:

É claro que os meus projectos mais complexos no MetaTrader 5 também demoram muito tempo a compilar. Demora mesmo até 11 segundos. Exactamente as mesmas versões, mas no MetaTrader 4 pode ser até 25 vezes mais rápido.

Por exemplo, o mesmo projecto.

MetaTrader5:

//---

MetaTrader4:

//---

Até agora, não é claro com o que está relacionado. Pode tentar preparar material para testes e enviá-lo para o servicedesk para verificação. Se não quiser mostrar o código dos seus projectos, pode utilizar o código dos artigos desta série como exemplo.

Tenho uma suposição: porque o MT4 é de 32 bits, não se tornou "totalmente optimizado". Tanto quanto sei, esta optimização do compilador foi anunciada como supostamente melhorando o trabalho num ambiente de 64 bits. A propósito, devo verificar a versão de 32 bits do MT5. Talvez esteja tudo bem com ele. Mas eu não tenho essa oportunidade.

Se tiver uma versão de 32bit de metaeditor para 5, por favor partilhe-a.

 
Anatoli Kazharski:

É claro que os meus projectos mais complexos no MetaTrader 5 também demoram muito tempo a compilar. Demora mesmo até 11 segundos. Exactamente as mesmas versões, mas no MetaTrader 4 pode ser até 25 vezes mais rápido.

Por exemplo, o mesmo projecto.

MetaTrader5:

//---

MetaTrader4:

//---

Até agora, não é claro com o que está relacionado. Pode tentar preparar material para testes e enviá-lo para o servicedesk para verificação. Se não quiser mostrar o código dos seus projectos, pode utilizar o código dos artigos desta série como exemplo.

Isto é optimização de código.

Se escrever OPTIMIZE=0 no campo [Especialistas] em metaeditor.ini, a sua velocidade de compilação será como em 4. Tenho alguns projectos compilados em 20 seg. e alguns entram em loop de optimização infinito :)