Обучаю с нуля, а также помогу новичкам влиться в ряды профессионалов MQL4. - страница 7

 
Dmitry Sumsky:

Вам заняться больше нечем, чем уже несколько часов выискивать какие-то недочеты в моем коде или я Вам наступил на больную мозоль и Вы мне хотите отомстить???

Странный Вы человек, Андрюша... 

так а для чего форум? -- для хохмы.

сижу чаёк из блюдца хлебаю с плюшками -- форум просматриваю, в том числе -- может что для прикола найдётся -- тут ваш топик забавный (мне тема обучения всегда нравилась).

p.s. а зачем вам мстить? и по какому поводу? -- это не понял (мы же с вами не сотрудничали, не более чем парой фраз всегда перекидывались).


p.s.2 не сердитесь, удалил свой пост -- может и правда он был колкий -- не было цели вас как-то задеть

 
Andrey F. Zelinsky:

так а для чего форум? -- для хохмы.

сижу чаёк из блюдца хлебаю с плюшками -- форум просматриваю, в том числе -- может что для прикола найдётся -- тут ваш топик забавный (мне тема обучения всегда нравилась).

p.s. а зачем вам мстить? и по какому поводу? -- это не понял

к тому же, Димочка, вы стали сами первый на меня нападать -- я чисто пострадавшая сторона.

Ну прям невинная девица. Вломился ко мне в "хату", стал учить жизни. Я лишь высказал чистейшую правду. Видимо от правды у Вас плюшка поперек горла встала и Вы решили найти какую-то зацепку, чтобы хоть как-то насолить мне. Но чем больше Вы тут распинаетесь, тем больше Вы себя унижаете. Можете и дальше продолжать провоцировать меня, унижая себя перед другими. Это же форум, а форум для хохмы. Тем более эту хохму читают не только мы с Вами... )))
 
Dmitry Sumsky:
Ну прям невинная девица. Вломился ко мне в "хату", стал учить жизни. Я лишь высказал чистейшую правду. Видимо от правды у Вас плюшка поперек горла встала и Вы решили найти какую-то зацепку, чтобы хоть как-то насолить мне. Но чем больше Вы тут распинаетесь, тем больше Вы себя унижаете. Можете и дальше продолжать провоцировать меня, унижая себя перед другими. Это же форум, а форум для хохмы. Тем более эту хохму читают не только мы с Вами... )))

тю на вас -- я вам написал:

Andrey F. Zelinsky:

p.s.2 не сердитесь, удалил свой пост -- может и правда он был колкий -- не было цели вас как-то задеть

-- а вы продолжаете нападать -- верну свой пост, наверное, зря удалил.

 
Andrey F. Zelinsky:

тю на вас -- я вам написал:

-- а вы продолжаете нападать -- верну свой пост, наверное, зря удалил.

Видимо, удалили пока я писал. Ну, извиняйте... )))
 
Dmitry Sumsky:

Эта ветка создана для того, чтобы помочь тем, кто пытается научиться, но у самих это получается долго и муторно. Я лишь предложил свою помощь в ускоренном освоении языка, плюс понимание как это работает в оперативной памяти компьютера, чтобы программировать сразу оптимальный код, а не делать "как-нибудь", а потом пытаться это оптимизировать... )))

По-моему, такие конструкции не очень оптимальны:

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

результат функции iBars() лучше было бы присвоить переменной перед оператором for , так как "Выражение2" проходит проверку на истинность после каждой итерации, и вызов функции каждый раз будет занимать больше времени, чем сравнение с переменной.

 
Vasiliy Pushkaryov:

По-моему, такие конструкции не очень оптимальны:

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

результат функции iBars() лучше было бы присвоить переменной перед оператором for , так как "Выражение2" проходит проверку на истинность после каждой итерации, и вызов функции каждый раз будет занимать больше времени, чем сравнение с переменной.

Согласен, в основном я так и делаю. А если нет разницы откуда начинать проход, то пишу for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Так получается и оптимально для процесса и меньше символов в строке. В этом коде я не стремился оптимизировать на 100% - мне нужно было сделать меньше строк, поэтому так и написал... )))

Больше всего "жрут" процесс всякие iCustom и т.д., а там их навалом.  Чтобы все "летало", надо алгоритмы всех используемых индикаторов прописывать в самом советнике, но такой задачи не стояло...

 
Dmitry Sumsky:
Согласен, в основном я так и делаю. А если нет разницы откуда начинать проход, то пишу for(int i=iBars(NULL,SarPeriod)-1; i>=0; i--). Так получается и оптимально для процесса и меньше символов в строке. В этом коде я не стремился оптимизировать на 100% - мне нужно было сделать меньше строк, поэтому так и написал... )))
Понятно. Тогда я за Ваших учеников спокоен )
 
Vasiliy Pushkaryov:

По-моему, такие конструкции не очень оптимальны:

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

результат функции iBars() лучше было бы присвоить переменной перед оператором for , так как "Выражение2" проходит проверку на истинность после каждой итерации, и вызов функции каждый раз будет занимать больше времени, чем сравнение с переменной.

На самом деле это не особенно важно. Помнится в "Искусство программирования" Кнута было написано, как-то так - хороший программист должен:

1. уметь сократить или оптимизировать любую программу,

2. никогда этого не делать. 

 
Yuriy Asaulenko:

На самом деле это не особенно важно. Помнится в "Искусство программирования" Кнута было написано, как-то так - хороший программист должен:

1. уметь сократить или оптимизировать любую программу,

2. никогда этого не делать. 

Мне больше такой подход понравился

Когда я пишу свои функции, они получаются длинными и сложными. В них встречаются многоуровневые отступы и вложенные циклы. Они имеют длинные списки аргументов. Имена выбираются хаотично, а в коде присутствуют дубликаты. Но у меня также имеется пакет модульных тестов для всех этих неуклюжих строк до последней.

Итак, я начинаю «причесывать» и уточнять свой код, выделять новые функции, изменять имена и устранять дубликаты. Я сокращаю методы и переупорядочиваю их. Иногда приходится ломать целые классы, но при этом слежу за тем, чтобы все тесты выполнялись успешно.

В конечном итоге у меня остаются функции, построенные по правилам, изложенным в этой категории. Я не записываю их так с самого начала. И вообще не думаю, что кому-нибудь это под силу.

Роберт Мартин, Чистый код. Создание, анализ и рефакторинг.

Кто-то умеет и делает, кто умеет и не делает, здесь уже у кого как получается.

 
Vasiliy Pushkaryov:

Мне больше такой подход понравился

Кто-то умеет и делает, кто умеет и не делает, здесь уже у кого как получается.

Это не взаимоисключающие подходы. Они о разном.
Причина обращения: