Eu ensino do zero, assim como ajudo os recém-chegados a ingressar nas fileiras dos profissionais da MQL4. - página 7

 
Dmitry Sumsky:

Você não tem nada melhor para fazer do que passar horas procurando algumas falhas no meu código ou sou um chato e você quer se vingar de mim?

Você é um homem estranho, Andrew...

Para que serve o fórum? -- Por diversão.

Estou tomando meu chá de um pires e alguns bolos -- procuro no fórum e talvez encontre algo para me divertir -- seu tópico é engraçado (eu sempre gostei deste).

p.s. por que você precisa de vingança, e por que razão? -- p.s.2 não fique bravo comigo - é engraçado, seu tópico sempre foi uma curva de aprendizado para mim.


p.s.2 não fique zangado, eu apaguei meu post - talvez tenha sido realmente picuinhas - não era para ofendê-lo de forma alguma

 
Andrey F. Zelinsky:

Então, para que serve o fórum? -- por diversão.

Estou tomando uma xícara de chá e bolinhos -- estou navegando no fórum, talvez eu encontre algo para me divertir -- seu tópico é engraçado (sempre gostei do tema do aprendizado).

p.s. por que você precisa de vingança e para quê? - Eu não entendo

Além disso, Dimochka, foi você quem me atacou primeiro - eu sou puramente a parte ferida.

Você é uma garota tão inocente. Você invadiu meu berço, começou a me dizer como viver minha vida. Tudo o que eu fiz foi dizer toda a verdade. Aparentemente, a verdade entrou em sua garganta e você decidiu encontrar algum tipo de pista, a fim de, de alguma forma, me irritar. Mas, quanto mais você se queixa, mais você se humilha. Você pode continuar me provocando, humilhando-se diante dos outros. Este é um fórum, um fórum para a hilaridade. Além disso, não é só você e eu que o lemos... )))
 
Dmitry Sumsky:
Você é uma garota tão inocente. Invadindo meu berço, dizendo-me como viver minha vida. Tudo o que eu disse foi toda a verdade. Aparentemente, a verdade entrou em sua garganta e você decidiu encontrar algum tipo de pista para, de alguma forma, me irritar. Mas, quanto mais você se queixa, mais você se humilha. Você pode continuar me provocando, humilhando-se diante dos outros. Este é um fórum, um fórum para a hilaridade. Além disso, não é só você e eu que o lemos... )))

Eu escrevi para você:

Andrey F. Zelinsky:

p.s.2 não fique bravo, eu apaguei meu post -- talvez tenha sido uma picada -- eu não queria ofendê-lo de forma alguma

-- e você continua atacando -- eu provavelmente não deveria ter apagado meu posto.

 
Andrey F. Zelinsky:

Você -- eu lhe escrevi:

-- e você continua atacando -- eu devo ter apagado meu posto por nada.

Você deve tê-lo apagado enquanto eu escrevia. Bem, sinto muito... )))
 
Dmitry Sumsky:

Este fio é projetado para ajudar aqueles que estão tentando aprender, mas o acham longo e doloroso. Eu apenas ofereci minha ajuda no aprendizado mais rápido do idioma, mais uma compreensão de como ele funciona na memória do computador, para que eu pudesse programar o melhor código de uma vez, em vez de fazê-lo "de alguma forma", e depois tentar otimizá-lo... )))

Acho que tais construções não são muito ideais:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Seria melhor atribuir o resultado da função iBars() a uma variável antes do para operador, uma vez que "Expression2" é verificada a verdade após cada iteração, e cada vez que a função é chamada ela levará mais tempo do que compará-la a uma variável.

 
Vasiliy Pushkaryov:

Na minha opinião, tais projetos não são muito otimizados:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Seria melhor atribuir o resultado da função iBars() a uma variável antes da declaração de para, já que "Expression2" é verificada a verdade após cada iteração, e cada vez que a função é chamada, levará mais tempo do que compará-la com a variável.

Concordo, isso é basicamente o que eu faço. E se não faz diferença por onde começar o passe, então escrevo para(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Isto é ótimo para o processo e menos caracteres na corda. Neste código, eu não tinha como objetivo 100% de otimização - eu tinha que fazer menos cordas, então eu escrevi assim... )))

A coisa que "come" o processo acima de tudo é o iCustom etc., e eu tenho muitos deles lá. Eu deveria escrever os algoritmos de todos os indicadores que uso no próprio Expert Advisor para fazê-lo "voar", mas eu não tinha tal tarefa...

 
Dmitry Sumsky:
Concordo, isso é basicamente o que eu faço. E se não faz diferença por onde começar a passar, então escrevo para(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Isto é ótimo para o processo e menos caracteres na corda. Neste código, eu não tinha como objetivo 100% de otimização - eu tinha que fazer menos cordas, então eu escrevi assim... )))
Estou vendo. Então estou calmo para seus alunos )
 
Vasiliy Pushkaryov:

Na minha opinião, tais projetos não são muito otimizados:

for(int i=0; i+1<iBars(NULL,Sarpperiod); i++)

Seria melhor atribuir o resultado de iBars() a uma variável antes do for statement, porque "Expression2" é testado para a verdade após cada iteração, e cada vez que a função é chamada, levará mais tempo do que a comparação com a variável.

Isso não importa muito. Lembro-me do "A Arte da Programação" de Knuth dizendo algo assim - um bom programador deveria:

1. ser capaz de encurtar ou otimizar qualquer programa,

2. nunca o faça.

 
Yuriy Asaulenko:

Isso não importa muito. Lembro-me de Knuth's The Art of Programming dizer algo como isto - um bom programador deveria:

1. ser capaz de encurtar ou otimizar qualquer programa,

2. nunca o faça.

Eu gosto mais desta abordagem.

Quando eu escrevo minhas funções, elas são longas e complexas. Eles contêm recuos de vários níveis e laços aninhados. Eles têm longas listas de argumentos. Os nomes são escolhidos de forma caótica e há duplicatas no código. Mas também tenho um conjunto de testes unitários para todas estas linhas desajeitadas até a última.

Assim, começo a "pentear" e a refinar meu código, destacando novas funções, mudando nomes e eliminando duplicatas. Eu encurto os métodos e os reordeno. Às vezes tenho que interromper aulas inteiras, mas me certifico de que todos os testes sejam realizados com sucesso.

No final, fico com funções construídas de acordo com as regras delineadas nesta categoria. Não os escrevo dessa forma desde o início. E acho que ninguém pode fazer isso de maneira alguma.

Robert Martin, Código Limpo. Criação, análise e refatoração.

Algumas pessoas são capazes e o fazem, algumas pessoas são capazes e não o fazem, é uma questão de como se faz.

 
Vasiliy Pushkaryov:

Eu gosto mais desta abordagem

Alguns podem e fazem, outros podem e não, é uma questão de como você o faz.

Estas não são abordagens mutuamente exclusivas. São sobre coisas diferentes.
Razão: