Ночью происходит переход на новый день. И на протяжении нескольких тиков будет наблюдаться всплеск активности неправильного расчёта. Потом всё устаканивается.
Ночью происходит переход на новый день. И на протяжении нескольких тиков будет наблюдаться всплеск активности неправильного расчёта. Потом всё устаканивается.
А где этот "вплеск активности" влияет на подобную конструкцию? И почему это влияние только в тестере?
for (int i=limit; i>=0;i--)
{
int sh = iBarShift(NULL, 1440, iTime(NULL,0,i), false);
H = iHigh(NULL, 1440, sh + 1);
L = iLow(NULL, 1440, sh + 1);
C = iClose(NULL, 1440, sh + 1);
O = iOpen(NULL, 1440, sh + 1);
RG = H-L;
P = (H+L+C)/3;
R1 = 2*P-L;
S1 = 2*P-H;
R2 = P+RG;
S2 = P-RG;
R3 = R2+RG;
S3 = S2-RG;
PBuffer[i] = NormalizeDouble(P,d);
R1Buffer[i] = NormalizeDouble(R1,d);
S1Buffer[i] = NormalizeDouble(S1,d);
R2Buffer[i] = NormalizeDouble(R2,d);
S2Buffer[i] = NormalizeDouble(S2,d);
R3Buffer[i] = NormalizeDouble(R3,d);
S3Buffer[i] = NormalizeDouble(S3,d);
}
а вот этот мой, он просто прямые линии рисует с момента первого расчёта и до повторной компиляции (в билде 482 всё нормально перерасчитывается без дополнительных пинков или пляски с бубном):
В нем идет обращение к "неродным" таймфреймам. В этом вся проблема.
int start()
{
limit=Bars-IndicatorCounted();
if (limit>0) limit=Bars-1;
for (int i=limit; i>=0;i--)
{
int sh = iBarShift(NULL, period, Time[i], false);
double H = iHigh(NULL, period, sh + 1);
double L = iLow(NULL, period, sh + 1);
double C = iClose(NULL, period, sh + 1);
double O = iOpen(NULL, period, sh + 1);
double RG = H-L;
P = (H+L+C)/3;
Начиная с 600-го билда при визуальном тестировании - функции получения значений со старших таймфреймов в
индикаторах, наброшенных на график визуального тестирования, не имеют
доступа к истории и не моделируются (и раньше не моделировались).
В старой версии тестера индикаторы, наброшенные на график визуального тестирования, могли
подсматривать в будущее и перекидывать подсмотренное значение в тестируемый
эксперт (если кодер так написал), например, через глобальные переменные
терминала. Теперь облом.
А где этот "вплеск активности" влияет на подобную конструкцию? И почему это влияние только в тестере?
Это наверняка можно увидеть и живьем - нужно только понаблюдать как меняется отрисовка на последнем баре предыдущего дня при обработке первых тиков нового дня.
В нем идет обращение к "неродным" таймфреймам. В этом вся проблема.
Начиная с 600-го билда при визуальном тестировании - функции получения значений со старших таймфреймов в индикаторах, наброшенных на график визуального тестирования, не имеют доступа к истории и не моделируются (и раньше не моделировались).
В старой версии тестера индикаторы, наброшенные на график визуального тестирования, могли подсматривать в будущее и перекидывать подсмотренное значение в тестируемый эксперт (если кодер так написал), например, через глобальные переменные терминала. Теперь облом.
То есть теперь любой советник, основанный на мульти-ТФ индикаторе, или хотябы пытающийся заглянуть на старший ТФ, обречён на неудачное тестирование в тестере? Только в режиме реального времени их тестить, чтоли? А оптимизировать как?
Ничего себе свинью вы пользователям подложили, даже если только визуальное тестирование так себя ведёт...
Rosh:
Это наверняка можно увидеть и живьем - нужно только понаблюдать как меняется отрисовка на последнем баре предыдущего дня при обработке первых тиков нового дня.
Вот как видит это тестер в старом алгоритме
Не, мой так не перерисовывает в старом билде, всё нормально рисует, видео в прицепе. А вот в новом билде, как я уже писал, при переходе на следующие сутки индикатор рисует те же данные, что были рассчитаны ранее, до реинициализации.
Посмотрел. Не об этом был разговор. Как работает функция iBarShift() на графике визуального тестирования со своими и не своими данными знаю уже очень давно.
То есть теперь любой советник, основанный на мульти-ТФ индикаторе, или хотябы пытающийся заглянуть на старший ТФ, обречён на неудачное тестирование в тестере? Только в режиме реального времени их тестить, чтоли? А оптимизировать как?
Вспомнил, что за глюк был. На графике визуального тестирования для нулевого бара возвращался 0 всегда. Для своих данных это нормально, а для другого графика - нет.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Кажется недавно тоже отлавливал какой-то глюк с iBarShift() на графике визуального тестирования.
да фигли толку
что за ночь?
Ночью происходит переход на новый день. И на протяжении нескольких тиков будет наблюдаться всплеск активности неправильного расчёта. Потом всё устаканивается.
Ночью происходит переход на новый день. И на протяжении нескольких тиков будет наблюдаться всплеск активности неправильного расчёта. Потом всё устаканивается.
А где этот "вплеск активности" влияет на подобную конструкцию? И почему это влияние только в тестере?
а вот этот мой, он просто прямые линии рисует с момента первого расчёта и до повторной компиляции (в билде 482 всё нормально перерасчитывается без дополнительных пинков или пляски с бубном):
В нем идет обращение к "неродным" таймфреймам. В этом вся проблема.
Начиная с 600-го билда при визуальном тестировании - функции получения значений со старших таймфреймов в индикаторах, наброшенных на график визуального тестирования, не имеют доступа к истории и не моделируются (и раньше не моделировались).
В старой версии тестера индикаторы, наброшенные на график визуального тестирования, могли подсматривать в будущее и перекидывать подсмотренное значение в тестируемый эксперт (если кодер так написал), например, через глобальные переменные терминала. Теперь облом.
Кажется недавно тоже отлавливал какой-то глюк с iBarShift() на графике визуального тестирования.
да фигли толку
Смотрите мое сообщение выше
А где этот "вплеск активности" влияет на подобную конструкцию? И почему это влияние только в тестере?
Это наверняка можно увидеть и живьем - нужно только понаблюдать как меняется отрисовка на последнем баре предыдущего дня при обработке первых тиков нового дня.
Вот как видит это тестер в старом алгоритме
В нем идет обращение к "неродным" таймфреймам. В этом вся проблема.
Начиная с 600-го билда при визуальном тестировании - функции получения значений со старших таймфреймов в индикаторах, наброшенных на график визуального тестирования, не имеют доступа к истории и не моделируются (и раньше не моделировались).
В старой версии тестера индикаторы, наброшенные на график визуального тестирования, могли подсматривать в будущее и перекидывать подсмотренное значение в тестируемый эксперт (если кодер так написал), например, через глобальные переменные терминала. Теперь облом.
То есть теперь любой советник, основанный на мульти-ТФ индикаторе, или хотябы пытающийся заглянуть на старший ТФ, обречён на неудачное тестирование в тестере? Только в режиме реального времени их тестить, чтоли? А оптимизировать как?
Ничего себе свинью вы пользователям подложили, даже если только визуальное тестирование так себя ведёт...
Это наверняка можно увидеть и живьем - нужно только понаблюдать как меняется отрисовка на последнем баре предыдущего дня при обработке первых тиков нового дня.
Вот как видит это тестер в старом алгоритме
Смотрите мое сообщение выше
Посмотрел. Не об этом был разговор. Как работает функция iBarShift() на графике визуального тестирования со своими и не своими данными знаю уже очень давно.
Вот поэтому и написал - "а фигли толку".
То есть теперь любой советник, основанный на мульти-ТФ индикаторе, или хотябы пытающийся заглянуть на старший ТФ, обречён на неудачное тестирование в тестере? Только в режиме реального времени их тестить, чтоли? А оптимизировать как?
Да не. Как вариант.
P./S.: Как-то ссылка не так вставляется. Поправила сейчас