Немного удивлен :) Решил поделиться и задать НЕ риторический вопрос. - страница 5

 
hrenfx:

Вопрос к разработчикам:

Советник с индикаторами и тот же самый советник, но с перенесенными индикаторами в его код ("все в одном"), по скорости выполнения в тестере будут отличаться? И в какую сторону?

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

мне хорошо помнится на 4 форуме популярно объясняли, что из-за отсутствия в экспертах вызова IndicatorCounted индикаторы, которые зависят от своих предыдущих значений будут работать с большим тормозом. Так как экспу придется рассчитывать весь буфер на каждом тике.

И соответственно если говорить про примитивы по типу Buf[i]=(High[i]+Low[i])/2 - то это встраивать в эксперт конечно можно и это будет работать конечно же быстрее.

Почему вы делаете унылое лицо с непониманием? для вас что то решает знание что будет быстрее?  

развлекайтесь

 
Ребята, хватит тупить! В заданном вопросе про скорость обратите внимание на слово "тестер". Говорить про скорость имеет смысл только в случае тестера и оптимизации. Никакие IndicatorCounted() для тестера и оптимизатора не нужны.
 

Разработчики, если захотят, подтвердят, не слукавив, что всегда можно перенести индикаторы в код советника с полной идентичностью результатов в ТЕСТЕРЕ. Но при этом никак не потеряв в скорости и получив серьезные возможности для дальнейшей алгоритмической оптимизации. Проведя которую, "все в одном" будет в ТЕСТЕРЕ всегда быстрее своего индикаторного "брата-близнеца" по определению.

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

 
Тогда понятно, если вы, hrenfx, пишите экспертов исключительно для тестера.
 
hrenfx:
  Никакие IndicatorCounted() для тестера и оптимизатора не нужны.

Приехали... С таким подходом и получают дикий тормоз в расчетах.

Вам надо теорией поинтересоваться и посмотреть штатные индикаторы. Они практически все экономные с применением IndicatorCounted() и пересчитывают только последние бары.

Как раз исправление одной из ошибок переинициализации буферов в последнем билде МТ4 вскрыл проблемы индикаторов, которые не учитывают IndicatorCounted().

 
Renat:

Приехали... С таким подходом и получают дикий тормоз в расчетах.

Вам надо теорией поинтересоваться и посмотреть штатные индикаторы. Они практически все экономные с применением IndicatorCounted() и пересчитывают только последние бары.

Как раз исправление одной из ошибок переинициализации буферов в последнем билде МТ4 вскрыл проблемы индикаторов, которые не учитывают IndicatorCounted().

Что за привычка вырывать из контекста? Речь шла об отсутствии IndicatorCounted() в советниках. Якобы, из-за этого отсутствия советники "все в одном" должны по сто раз пересчитывать одно и то же. Но для ТЕСТЕРА IndicatorCounted() в явном виде не нужен в советниках, его можно элементарно реализовать через статические переменные.

Изначально речь идет о грамотно написанных индикаторах и грамотно-написанных советниках "все в одном" для ТЕСТЕРА. Разбор полетов кривых рук не идет. Сравниваются скорости именно двух грамотно-проделанных подходов в написании советников для ТЕСТЕРА. Именно там, где вопрос скорости важен.

 
Renat:

Приехали... С таким подходом и получают дикий тормоз в расчетах.

Вам надо теорией поинтересоваться и посмотреть штатные индикаторы. Они практически все экономные с применением IndicatorCounted() и пересчитывают только последние бары.

Как раз исправление одной из ошибок переинициализации буферов в последнем билде МТ4 вскрыл проблемы индикаторов, которые не учитывают IndicatorCounted().

В тестере бары поступают последовательно, перебоев связи нет. Запоминается время последнего бара, за счет этого выполняется пересчет только одного бара. Но это будет только это игрушка для тестера. 

 
hrenfx:

....

Изначально речь идет о грамотно написанных индикаторах и грамотно-написанных советниках "все в одном". Разбор полетов кривых рук не идет. Сравниваются скорости именно двух грамотно-проделанных подходов в написании советников.

Не умалчивайте о контексте. Вы ведете разгвор о советникак "все в одном" исключительно для работы в тестере.

 
Integer:

Не умалчивайте о контексте. Вы ведете разгвоор о советникак "все в одном" исключительно для работы в тестере.

Специально для вас еще раз пишу, как и во всех постах выше было написано большими буквами, скорость важна для ТЕСТЕРА и оптимизатора. Поэтому рассматривается вопрос скорости только для ТЕСТЕРА и оптимизатора.

СКОРОСТЬ и только скорость.

Допустим, у вас два идентичных по результатам в ТЕСТЕРЕ советника, один на индикаторах, другой "все в одном". Второй работает на порядок быстрее. Очевидно же, что для оптимизации вы будете запускать второй вариант (потому что быстрее), найдете нужные параметры и вставите их в советник с индикатором, который уже запустите на реале, т.к. там механизмы для реала более надежные.

Еще раз повторю, обсуждается СКОРОСТЬ в ТЕСТЕРЕ. 

 
hrenfx:

Специально для вас еще раз пишу, как и во всех постах выше было написано большими буквами, скорость важна для ТЕСТЕРА и оптимизатора. Поэтому рассматривается вопрос скорости только для ТЕСТЕРА и оптимизатора. 

Мне на надо персонально ничего писать, читать умею, внимание устойчивое, память хорошая. Притом, этим своим сообщением, на которне вы мне ответили персонально большими буквами, продемонстрирована моя осведомленность о конексте.

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