Индикатор повреждается - страница 4

 
RaptorUK:

Если я ищу линии, которые кажутся оторванными от столбцов графика (как в вашем первом сообщении), то я не получаю никаких проблем.

Четвертый скриншот выглядит интересно. Насколько я могу судить, урезанный код должен рисовать линию каждые 25 минут, между минимумами и максимумами последних 20 баров. Таким образом, получается серия линий с промежутком в 5 минут между ними. Но на вашем последнем скриншоте линии накладываются друг на друга. Потенциально это может быть вызвано такими вещами, как перекомпиляция индикатора, когда он уже прикреплен к графику, но есть ли у вас идеи, что на самом деле вызвало это?
 
jjc:
Потенциально это может быть вызвано такими вещами, как перекомпиляция индикатора, когда он уже прикреплен к графику, но есть ли у вас какие-либо идеи, что вызвало это?
Индикатор был прикреплен, и ничего больше... никаких перезагрузок по какой-либо причине.
 
jjc:
Четвертый скриншот выглядит интересно.
Есть пропущенные бары, с 17:08 следующий бар 17:15, 17:00 бар тоже отсутствует. ...
 
RaptorUK:
Есть пропущенные бары, с 17:08 следующий бар - 17:15, 17:00 бар тоже пропущен...
Да, конечно, это объясняет это. Линии рисуются каждые 25 минут, а не каждые 25 баров M1. Поэтому они могут накладываться друг на друга. Не обращайте на меня внимания; мое наблюдение совершенно не относится к основному явлению - которое вы не можете (пока) воспроизвести - линии становятся оторванными от баров.
 
jjc:
Не обращайте внимания; мое замечание совершенно не относится к основному явлению - которое вы не можете (пока) воспроизвести - линии становятся оторванными от баров.
...если, конечно, предположить, что этот урезанный индикатор предназначен для воспроизведения оригинального явления, когда линии становятся отделенными, и что наложение линий является ожидаемой проблемой, а не чем-то, что рассматривается как ошибка и доказательство наличия проблемы.
 
У меня есть идея... но сейчас мне нужно выйти, я добавил индикатор на новый график, протестирую свою идею, когда вернусь, и опубликую результаты.
 
RaptorUK:
У меня есть идея... но сейчас мне нужно выйти, я добавил индикатор на новый график, протестирую свою идею, когда вернусь, и опубликую результаты.
Я бы подождал подтверждения от AnkaSoftware, что этот урезанный индикатор воспроизводит исходную проблему (отделенные линии), а не перекрывающиеся линии якобы являются признаком проблемы.

Мне следовало бы сразу обратить на это внимание, потому что я подумал: "Использование TimeCurrent() в индикаторе? Как странно". Очевидно, что это странно именно потому, что - как в данном случае - оно почти неизбежно связано с неверным предположением о том, что будет непрерывная серия баров. Если вы собираетесь использовать TimeCurrent() в урезанном примере, таком как этот, то это, вероятно, указывает на то, что вы также сделали что-то подобное в оригинальном коде, и поэтому будут проблемы с разрывами в последовательности баров.

Я все еще не могу понять, как урезанный код может привести к отрыву линий без того, чтобы не было какой-то проблемы в MT4, но использование TimeCurrent() делает меня более подозрительным, чем когда-либо, что это именно та ошибка, на которую намекали предыдущие скриншоты.
 
jjc:
Я бы подождал подтверждения от AnkaSoftware, что этот урезанный индикатор воспроизводит исходную проблему (отделенные линии), а не перекрывающиеся линии якобы являются признаком проблемы.

Мне следовало бы сразу обратить на это внимание, потому что я подумал: "Использование TimeCurrent() в индикаторе? Как странно". Очевидно, что это странно именно потому, что - как в данном случае - оно почти неизбежно связано с неверным предположением о том, что будет непрерывная серия баров. Если вы собираетесь использовать TimeCurrent() в урезанном примере, таком как этот, то это, вероятно, указывает на то, что вы также сделали что-то подобное в оригинальном коде, и поэтому будут проблемы с разрывами в последовательности баров.

Я все еще не могу понять, как урезанный код может привести к отрыву линий без того, чтобы не было какой-то проблемы в MT4, но использование TimeCurrent() делает меня более подозрительным, чем когда-либо, что это именно та ошибка, на которую намекали предыдущие скриншоты.

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

Если просмотреть xls файл с дампом массива индикаторов, то индексы данных индикаторных линий смещаются в массиве. Таким образом, линия индикатора, которая была действительна между барами t1 и t2, смещается на бары t3 и t4 и кажется оторванной.

TimeCurrent используется только для получения сигнала для рисования линий через заданные интервалы. Бары всегда рисуются от T - 1 до T - 20.

Raptor - Какая у вас настройка 'Max bars on chart'? Попробуйте установить 10 000.

 
AnkaSoftware:

На моей системе урезанный код способен воспроизвести исходную проблему оторванных строк. [...]

Если вы хотите еще одну возможную ошибку MT4, что произойдет, если использовать Low[i] и High[i], а не iLow() и iHigh()?
 
AnkaSoftware:
Прилагается пример индикатора, который воспроизводит проблему. На 64-битной платформе Windows прикрепите индикатор к графику M1 и дайте ему поработать в течение 4+ часов.

Что вы имеете в виду под повреждениями? Я только что прикрепил ваш индикатор на EURUSD M1 и не вижу никаких значений.