Линейное торможение - ошибка программиста или особенность работы MT4? - страница 3

 

Есть ещё умные идеи?

 
-Aleks-:


И какие выводы?
 
Vinin:
И какие выводы?

Увы, но пока в очередной раз прихожу к мысли, что сообщества программистов нет, а есть люди желающие заработать, но не получающие удовольствия от работы.

В общем растерян и подавлен.... 

 
-Aleks-:

Увы, но пока в очередной раз прихожу к мысли, что сообщества программистов нет, а есть люди желающие заработать, но не получающие удовольствия от работы.

В общем растерян и подавлен.... 

Приведение советников в порядок и их оптимизация будут стоить значительно дороже первоначальных затрат.

Будет ли нужный результат?

 
Налицо "aлгоритм маляра Шлемиля":

Шлемиль устроился на работу маляром и должен был наносить разметку посредине дороrи. В первый день он взял бочку краски и разметил 300 метров дороrи.
-Неплохо! - сказал босс - Ты быстро работаешь! - И заплатил ему денежку.

На следующий день Шлемиль осилил только 150 метров.

- Ну что ж, не так здорово, как вчера, но ты все равно быстро работаешь. 150 метров это не мало, - сказал босс и заплатил ему денежку.

Еще через день Шлемиль расчертил 30 метров дороrи.
- Bcero 30 метров! - рассвирепел босс - Это никуда не годится. В первый день ты сделал в десять раз больше. Что случилось?

- Ничеrо не могу поделать, - говорит Шлемиль. С каждым днем приходится все дальше и дальше уходить от бочки с краской..
 
Vinin:

Приведение советников в порядок и их оптимизация будут стоить значительно дороже первоначальных затрат.

Будет ли нужный результат?

На стадии доработки стратегии, а особенно тактики приходиться заказывать всевозможные дополнения для проверки идеи, на этой стадии вполне можно терпеть неторопливость советника.

Но меня удивило такое падение скорости в 6 раз по сравнению с основной версией советника. Оптимизация настройки советника необходима как минимум для сборки аналитических данных.

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

 
MetaQuotes:
Налицо "aлгоритм маляра Шлемиля":

Шлемиль устроился на работу маляром и должен был наносить разметку посредине дороrи. В первый день он взял бочку краски и разметил 300 метров дороrи.
-Неплохо! - сказал босс - Ты быстро работаешь! - И заплатил ему денежку.

На следующий день Шлемиль осилил только 150 метров.

- Ну что ж, не так здорово, как вчера, но ты все равно быстро работаешь. 150 метров это не мало, - сказал босс и заплатил ему денежку.

Еще через день Шлемиль расчертил 30 метров дороrи.
- Bcero 30 метров! - рассвирепел босс - Это никуда не годится. В первый день ты сделал в десять раз больше. Что случилось?

- Ничеrо не могу поделать, - говорит Шлемиль. С каждым днем приходится все дальше и дальше уходить от бочки с краской..

Не однозначная "сказка", иными словами нет возможности писать код так, что б он не тормозил и при этом не переписывать его с нуля?

И, приложенный мной код вполне адекватен? 

 
с первых постов, я догадавался в чём может быть проблема, но окончательно понял, только когда посмотрел исходник... Бог ты мой, его вобще программист писал? или студент водной академии?
 
micle:
с первых постов, я догадавался в чём может быть проблема, но окончательно понял, только когда посмотрел исходник... Бог ты мой, его вобще программист писал? или студент водной академии?

Заинтриговали!

Так в чём же беда, а главное как её исправить? 

 

На мой взгляд идея не плохая... 

Файлы:
SL3000.png  81 kb
 
-Aleks-:

Заинтриговали!

Так в чём же беда, а главное как её исправить? 

Беда в дублировании кода, в чрезмерно большом количестве условных операторов. По факту, код состоит из 99% строк так или иначе включающих условный оператор If, уверен, если разобраться, наверняка количество сравнений можно сократить раз в 10. Это не только тормозит исполнение, такой код трудно читаем. У человека вносящего в него дополнения как минимум 2 основных задачи:

1 - не сломать

2 - добавить нужный функционал

Не читаемый код, так или иначе приводит к дополнительному дублированию всевозможных проверок, сравнений - а это опять дополнительные расходы. Глядя в код, лично я вспоминаю себя лет эдак 25 назад, когда программировать только начинал, причём учился этому по инструкции к ПК Atari 800ХL без учителей, просто потому, что было интересно.

Причина обращения: