Страница 3 из 4
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 16:28
Den
Увеличение количества баров не помогает.
Получается это чисто программная проблема самого терминала, а не индикатора?
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 16:55
BugsDigger
Скорее не проблема, а особенность работы.
Индикаторы вызываются периодически, для работы в реальном времени они должны успевать вычислиться за время много меньшее, чем период вызова. Если в секундном ТФ дать вам ~100 тыс. точек, то счет замедлится. А если несколько таких индикаторов?.. Думаю, поэтому и дается история как-то разумно ограниченной длины.
Между прочим, в док-ции время от времени есть замечания, что те или иные фичи работают только для ТФ >= M1; весьма вероятно, что это связано как раз с этой проблемой.
В вашем случае очень м.б., что график, начатый в начале дня, будет работать нормально до ... первой перерисовки. Если терминал захочет перерисовать график, экземпляр индикатора будет пересоздан, и его показания будут пересчитаны с известными последствиями.
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 16:58
evge
Увеличить ограничения чтения истории терминала вы не можете.
Можно попросить через параметр, задав третий параметр "множитель" в объявлении параметра, для принудительного увеличения чтения истории. Но терминал больше своего предельного лимита не прочитает.
Выведите в индикаторе новую серию любого вида (линия или гистограмма или другое), в которую выведите значение MaxIndex или CurrentIndex и вы увидите максимальную историю, которую терминал прочитал в индикаторе.
в Initialize()
Код: Выделить всё
AddSeries("CI", DrawAs.Histogram, Color.Red);
в Evaluate()
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 17:30
Den
CI = 1529 на S12
обрыв верного расчета произошёл в 15:00 где-то
Так можно или нет увеличить чтение истории?
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 18:40
evge
Den писал(а):Так можно или нет увеличить чтение истории?
AddParameter("ЛюбоеИмя", 1000, 5) - 1000 * 5 - попытка принудительно прочитать 5000 баров истории.
смотрите потом на CI что выдало, если меньше, значит предел совершенства был достигнут
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 19:02
Den
СI = 6519 , теперь расчет верный происходит.
Но очень жёстко тормозит (надо уменьшать размер истории, видимо, методом тыка)
Евгений, спасибо !
P/S Тормозит настолько жёстко, что пришлось удалять DB и logs
Интересно,есть какие-либо варианты облегчить его?
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 24 апр 2020, 22:31
Den
evge, уточнение -
AddParameter("ЛюбоеИмя", 1000, 5) - 1000 * 5 - попытка принудительно прочитать 5000 баров истории.
Имеется ввиду бары соответствующего ТФ?
К примеру, на S30 за день 1660 баров , так?
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 25 апр 2020, 07:52
BugsDigger
Документ "СКРИПТЫ ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ И СТРАТЕГИЙ"
AddParameter(Name, Value, Length) – функция добавления в индикатор параметра, который можно задавать через форму настройки.
Параметры:
Name – имя параметра, должно удовлетворять требованиям описания переменной содержать латинские символы и цифры.
Value – значение по умолчанию
Length – опциональный параметр, определяющий масштабный коэффициент (опциональный параметр), позволяющий определять требуемую длину истории для правильного расчета индикатора.
o Length = 0 или нет данного параметра – параметр не влияет на загрузку требуемой истории по инструменту;
o Length > 1 – в качестве требуемой длины истории для расчета индикатора берется значение равное Length * Value.
Пример.
AddParameter("Period", 5); // Создание параметра с именем "Реriod" и значением по умолчанию 5.
AddParameter("SD", 0.5); // Создание параметра с именем "SD" и значением по умолчанию 0.5
AddParameter("History", 100, 2);// Создание параметра с именем "History" и значением 100, требующий размер истории 200 баров ( т.е. 100*2)
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 25 апр 2020, 08:29
Den
BugsDigger, действительно. Спасибо за ответ.
Re: Вопрос по индикатору, разработанному Евгением.
Добавлено: 25 апр 2020, 08:42
evge
На 90% вопросов там есть ответ.
Здесь, в форуме, продублировать конечно полезно.
Не забывайте заглядывать в
документацию.
- AD4-Docs-01.png (17.13 КБ) 18258 просмотров