Иначе не всегда будет рассчитываться первый бар. Недавно столкнулся с этим
Поставил эксперимент. В некоторых случаях (при меняющих цвет линиях) требуется переинициализация индикаторных буферов (нужно присвоить им пустое значение). Не всегда буферу присваивается какое-либо значение, поэтому при полном пересчете, без переинициализации, могут оставаться хвосты, как в следующем примере.
Приход первого тика:
Приход истории, полный пересчет (без переинициализации):
Переинициализация решает проблему (в моем частном случае два индикаторных буфера TrendUp и TrendDown):
...........
int counted_bars = IndicatorCounted();
//---- check for possible errorsif(counted_bars < 0) return(-1);
//---- last counted bar will be recountedif(counted_bars > 0) counted_bars--;
limit=Bars-counted_bars;
if (limit > 0)
{
limit = Bars - 1;
ArrayInitialize(TrendUp, EMPTY_VALUE);
ArrayInitialize(TrendDown, EMPTY_VALUE);
}
...........
Ок, попробую подловить. Решение сильно "радикально", имхо. Но интересно - поможет ли?
Если индикатор не слишком "тяжёлый", то это нормальное решение. Если не поможет, стоит подумать об изменении кода индикатора.
В принципе можно обрабатывать только подкачанные бары, но для этого индикатор должен иметь соответствующую архитектуру и помнить несколько предыдущих состояний. Имхо, такие сложности оправданы только для "тяжёлых" индикаторов.
Поставил эксперимент. В некоторых случаях (при меняющих цвет линиях) требуется переинициализация индикаторных буферов (нужно присвоить им пустое значение). Не всегда буферу присваивается какое-либо значение, поэтому при полном пересчете, без переинициализации, могут оставаться хвосты, как в следующем примере. Переинициализация решает проблему (в моем частном случае два индикаторных буфера TrendUp и TrendDown):
Как только пошли глюки с индикаторами, то разумно от них избавиться накорню, начав писать код в одном месте - иначе человек обречен ловить черного кота в черной комнате. :)
Воопщем, психическое здоровье надо беречь и не подвергать его зря таким испытаниям индикаторными глюками. :)
Как только пошли глюки с индикаторами, то разумно от них избавиться накорню, начав писать код в одном месте - иначе человек обречен ловить черного кота в черной комнате. :)
Воопщем, психическое здоровье надо беречь и не подвергать его зря таким испытаниям индикаторными глюками. :)
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Иначе не всегда будет рассчитываться первый бар. Недавно столкнулся с этимМаленькая поправка
Поставил эксперимент. В некоторых случаях (при меняющих цвет линиях) требуется переинициализация индикаторных буферов (нужно присвоить им пустое значение). Не всегда буферу присваивается какое-либо значение, поэтому при полном пересчете, без переинициализации, могут оставаться хвосты, как в следующем примере.
Приход первого тика:
Приход истории, полный пересчет (без переинициализации):
Переинициализация решает проблему (в моем частном случае два индикаторных буфера TrendUp и TrendDown):
Ок, попробую подловить. Решение сильно "радикально", имхо. Но интересно - поможет ли?
Если индикатор не слишком "тяжёлый", то это нормальное решение. Если не поможет, стоит подумать об изменении кода индикатора.
В принципе можно обрабатывать только подкачанные бары, но для этого индикатор должен иметь соответствующую архитектуру и помнить несколько предыдущих состояний. Имхо, такие сложности оправданы только для "тяжёлых" индикаторов.
Поставил эксперимент. В некоторых случаях (при меняющих цвет линиях) требуется переинициализация индикаторных буферов (нужно присвоить им пустое значение). Не всегда буферу присваивается какое-либо значение, поэтому при полном пересчете, без переинициализации, могут оставаться хвосты, как в следующем примере. Переинициализация решает проблему (в моем частном случае два индикаторных буфера TrendUp и TrendDown):
Как только пошли глюки с индикаторами, то разумно от них избавиться накорню, начав писать код в одном месте - иначе человек обречен ловить черного кота в черной комнате. :)
Воопщем, психическое здоровье надо беречь и не подвергать его зря таким испытаниям индикаторными глюками. :)
Как только пошли глюки с индикаторами, то разумно от них избавиться накорню, начав писать код в одном месте - иначе человек обречен ловить черного кота в черной комнате. :)
Воопщем, психическое здоровье надо беречь и не подвергать его зря таким испытаниям индикаторными глюками. :)
OffTop
OffTop
Почему же? Систематизировать код вам и другие люди посоветовали.
Вот так, просто и коротко, сразу бы и написали. Семантика русского языка настолько богата
Вот так, просто и коротко, сразу бы и написали. Семантика русского языка настолько богата