В каких случаях есть смысл держать часть кода робота в индикаторе? - страница 24

 
Vinin:

Я приводил логику работоспособного алгоритма. Не помогло. Сожалею что не достучался

Вы мне ошибку укажите в коде, а не свое видение правильного алгоритма. Говорите же, что есть ошибка. Значит точно знаете ее местоположение. Что так трудно показать место (которое вы уже определили) в 10 строчках кода?
 
TheXpert:
Нет, цена будет уже на новом баре. Это отлично видно при включении терминала. Вначале бар имеет вид точки.

Я же говорил вам про условия РЕАЛ. Советник с индикатором получит точно также некорректное значение EMA, пока баров не будет.

Если же мы говорим про РЕАЛ условия адекватного использования советника, то разрыв в 10 минут будет абсолютно точно учитываться.

 
hrenfx:

Вы мне ошибку укажите в коде, а не свое видение правильного алгоритма. Говорите же, что есть ошибка. Значит точно знаете, ее местоположение. Что так трудно показать место (которое вы уже определили) в 10 строчках кода?


Нельзя оперировать временем. Можно оперировать только количеством текущих баров и количеством обработанных баров. Если их разница больше единицы, то полный перерасчет. Равна 1, то расчет первого и второго бара. Если равно нулю, то только нулевого бара.

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

 
hrenfx:

Я же говорил вам про условия РЕАЛ. Советник с индикатором получит точно также некорректное значение EMA, пока баров не будет.

Да, но если в индюке значения скорректируются как только придут бары, то в Вашем варианте значения будут неверны в течение количества баров, равного ширине окна ЕМА.
 
Vinin:


Нельзя оперировать временем. Можно оперировать только количеством текущих баров и количеством обработанных баров. Если их разница больше единицы, то полный перерасчет. Равна 1, то расчет первого и второго бара. Если равно нулю, то только нулевого бара.

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

 
TheXpert:
Да, но если в индюке значения скорректируются как только придут бары, то в Вашем варианте значения будут неверны в течение количества баров, равного ширине окна ЕМА.
  1. Да, в индюке все скорректируется. Правда, советник до корретировки получит неверные значения и будет иметь возможность "напортачить". Но я опять же говорю про РЕАЛ условия. Вы запускаете советник только тогда, когда уверены, что история вся закачана. А на кратковременные обрывы связи мой советник отреагирует совершенно корректно. Отлично знаете, что проблему идентификации полной закачки истории разработчики не решили, хоть их много раз об этом просили.
  2. В случае, если ДЦ нарисует "левых" баров, индикатор пересчитается и будет выдавать советнику "левые" значения. В варианте "все в одном" этого не произойдет. Надо понимать, что речь идет о выборе одной из зол. Т.к. разработчики проигнорировали явную проблему. И я все время говорю, что рассматривается адекватный РЕАЛ. Вам отлично известно, как практику, что это такое.
  3. В EMA нет окна. Это экспоненциальное среднее.

P.S. Насчет реализации IndicatorCounted(). В MT4 нет никаких буферов, следящих за этим. Есть просто хэш-функция, значение которой косвенно используется в IndicatorCounted(). При любом изменении истории хэш-функция меняет значение. Любой может написать несложную хэш-функцию, которая будет отслеживать изменения в истории.

 
кончайте бред
 
И у ЕМА есть окно!
 
Integer:
кончайте бред

Учитесь аргументировать.
 
Integer:

Извините, но что-либо объяснять вам, это заняти крайне не блогодарное.

Так что я откланиваюсь, наши вам с кисточкой...

А кстати где же Ваша обещанная версия эксперта которую нужно подцепить через индикатор? Что-то нигде не нахожу.

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

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