A desaceleração linear é um erro de programação ou uma característica do MT4? - página 3

 

Alguma outra ideia inteligente?

 
-Aleks-:


E quais são as conclusões?
 
Vinin:
Quais são as conclusões?

Infelizmente, mas até agora estou mais uma vez a chegar à conclusão de que não há comunidade de programação, mas há pessoas que querem ganhar dinheiro mas não gostam do seu trabalho.

Por isso estou confuso e deprimido....

 
-Aleks-:

Infelizmente, mas até agora estou mais uma vez a chegar à conclusão de que não há comunidade de programação, mas há pessoas que querem ganhar dinheiro mas não gostam do seu trabalho.

Globalmente, confuso e deprimido....

Colocar os EAs em ordem e optimizá-los irá custar muito mais do que o custo inicial.

Haverá o resultado desejado?

 
Há o "algoritmo do pintor Schlemiel":

Schlemiel conseguiu um trabalho como pintor e teve de pintar no meio da estrada. No primeiro dia, pegou num barril de tinta e marcou 300 metros da estrada.
-Nice! - disse o chefe - Você trabalha depressa! - E pagou-lhe um tostão.

No dia seguinte, Schlemiel cobriu apenas 150 metros.

- Bem, não tão bem como ontem, mas continua a trabalhar depressa. 150 metros não é muito pouco", disse o chefe e pagou-lhe uma taxa.

Outro dia mais tarde, Schlemiel marcou 30 metros da estrada.
- Bcero 30 metros! - O patrão zangou-se: "Isso não é bom. No primeiro dia, fez dez vezes mais. O que aconteceu?

- Não posso evitá-lo", diz Schlemil. Todos os dias tenho de me afastar cada vez mais do barril de tinta.
 
Vinin:

A disponibilização de conselheiros e a sua optimização custará consideravelmente mais do que os custos iniciais.

Haverá o resultado desejado?

Na fase de melhoria da estratégia, e especialmente das tácticas, temos de encomendar todo o tipo de aditivos para testar a ideia, e nesta fase podemos tolerar a lentidão do Expert Advisor.

Mas fiquei surpreendido com uma velocidade 6 vezes mais lenta em comparação com a versão principal da EA. A optimização do ajuste da EA é necessária, pelo menos, para a recolha de dados analíticos.

Tenho razão em compreender que é impossível ler o código de outras pessoas e é melhor encomendar outra versão da EA depois de termos uma versão bem sucedida, mas deve ser escrita do zero, e só neste caso, podemos ter a certeza de alta velocidade e fiabilidade? Pessoalmente, pensei que a parte do compilador é cortar operações, que se estão a duplicar, por exemplo...

 
MetaQuotes:
Há o "algoritmo do pintor Schlemiel":

Schlemiel conseguiu um trabalho como pintor e teve de pintar no meio da estrada. No primeiro dia, pegou num barril de tinta e marcou 300 metros da estrada.
-Nice! - disse o chefe - Você trabalha depressa! - E pagou-lhe um tostão.

No dia seguinte, Schlemiel cobriu apenas 150 metros.

- Bem, não tão bem como ontem, mas continua a trabalhar depressa. 150 metros não é insignificante", disse o patrão e pagou-lhe o dinheiro.

Outro dia mais tarde, Schlemiel desenhou 30 metros de estrada.
- Bcero 30 metros! - O patrão ficou zangado. Isso não é bom. No primeiro dia, fez dez vezes mais. O que aconteceu?

- Não posso evitá-lo", diz Schlemil. Todos os dias tenho de me afastar cada vez mais do barril de tinta.

Não é um "conto de fadas" inequívoco, por outras palavras, não há forma de escrever código para não abrandar e ao mesmo tempo não o reescrever a partir do zero?

E, o código que anexei é bastante adequado?

 
Desde os primeiros posts, adivinhei qual poderia ser o problema, mas só quando olhei para o código fonte é que finalmente compreendi... Meu Deus, foi mesmo escrito por um programador? Ou por um estudante da academia da água?
 
micle:
Desde os primeiros posts, adivinhei qual poderia ser o problema, mas finalmente percebi-o apenas quando olhei para o código fonte... Meu Deus, foi mesmo escrito por um programador? Ou por um estudante da academia da água?

Intrigante!

Então qual é o problema e, mais importante, como resolvê-lo?

Não acho que seja uma má ideia...

Arquivos anexados:
SL3000.png  81 kb
 
-Aleks-:

Intrigante!

Então qual é o problema, e mais importante, como resolvê-lo?

O problema é a duplicação do código, demasiadas declarações condicionais. De facto, o código consiste em 99% de linhas de alguma forma incluindo o condicional Se operador. Tenho a certeza de que se o analisarmos, o número de comparações pode ser reduzido 10 vezes. Isto não só retarda a execução, mas este código também é difícil de ler. Uma pessoa que lhe faz adições tem pelo menos 2 tarefas principais:

1 - não quebrá-lo

2 - Acrescentar a funcionalidade necessária.

O código ilegível causa uma duplicação adicional de todos os tipos de verificações e comparações - e isto mais uma vez é uma despesa adicional. Olhando através do código, lembro-me pessoalmente de mim próprio há cerca de 25 anos, quando comecei a programar, e aprendi-o no manual do Atari 800XL PC sem quaisquer professores, só porque era interessante.