Общие вопросы по разработке > Вопрос по индикатору, разработанному Евгением.
Re: Вопрос по индикатору, разработанному Евгением.
Увеличение количества баров не помогает.
Получается это чисто программная проблема самого терминала, а не индикатора?
Получается это чисто программная проблема самого терминала, а не индикатора?
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Вопрос по индикатору, разработанному Евгением.
Скорее не проблема, а особенность работы.
Индикаторы вызываются периодически, для работы в реальном времени они должны успевать вычислиться за время много меньшее, чем период вызова. Если в секундном ТФ дать вам ~100 тыс. точек, то счет замедлится. А если несколько таких индикаторов?.. Думаю, поэтому и дается история как-то разумно ограниченной длины.
Между прочим, в док-ции время от времени есть замечания, что те или иные фичи работают только для ТФ >= M1; весьма вероятно, что это связано как раз с этой проблемой.
В вашем случае очень м.б., что график, начатый в начале дня, будет работать нормально до ... первой перерисовки. Если терминал захочет перерисовать график, экземпляр индикатора будет пересоздан, и его показания будут пересчитаны с известными последствиями.
Индикаторы вызываются периодически, для работы в реальном времени они должны успевать вычислиться за время много меньшее, чем период вызова. Если в секундном ТФ дать вам ~100 тыс. точек, то счет замедлится. А если несколько таких индикаторов?.. Думаю, поэтому и дается история как-то разумно ограниченной длины.
Между прочим, в док-ции время от времени есть замечания, что те или иные фичи работают только для ТФ >= M1; весьма вероятно, что это связано как раз с этой проблемой.
В вашем случае очень м.б., что график, начатый в начале дня, будет работать нормально до ... первой перерисовки. Если терминал захочет перерисовать график, экземпляр индикатора будет пересоздан, и его показания будут пересчитаны с известными последствиями.
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Вопрос по индикатору, разработанному Евгением.
Увеличить ограничения чтения истории терминала вы не можете.
Можно попросить через параметр, задав третий параметр "множитель" в объявлении параметра, для принудительного увеличения чтения истории. Но терминал больше своего предельного лимита не прочитает.
Выведите в индикаторе новую серию любого вида (линия или гистограмма или другое), в которую выведите значение MaxIndex или CurrentIndex и вы увидите максимальную историю, которую терминал прочитал в индикаторе.
в Initialize()
в Evaluate()
Можно попросить через параметр, задав третий параметр "множитель" в объявлении параметра, для принудительного увеличения чтения истории. Но терминал больше своего предельного лимита не прочитает.
Выведите в индикаторе новую серию любого вида (линия или гистограмма или другое), в которую выведите значение MaxIndex или CurrentIndex и вы увидите максимальную историю, которую терминал прочитал в индикаторе.
в Initialize()
Код: Выделить всё
AddSeries("CI", DrawAs.Histogram, Color.Red);
в Evaluate()
Код: Выделить всё
CI = CurrentIndex;
никогда такого не было и вот опять
Re: Вопрос по индикатору, разработанному Евгением.
CI = 1529 на S12
обрыв верного расчета произошёл в 15:00 где-то
Так можно или нет увеличить чтение истории?
обрыв верного расчета произошёл в 15:00 где-то
Так можно или нет увеличить чтение истории?
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Вопрос по индикатору, разработанному Евгением.
Den писал(а):Так можно или нет увеличить чтение истории?
AddParameter("ЛюбоеИмя", 1000, 5) - 1000 * 5 - попытка принудительно прочитать 5000 баров истории.
смотрите потом на CI что выдало, если меньше, значит предел совершенства был достигнут
никогда такого не было и вот опять
Re: Вопрос по индикатору, разработанному Евгением.
СI = 6519 , теперь расчет верный происходит.
Но очень жёстко тормозит (надо уменьшать размер истории, видимо, методом тыка)
Евгений, спасибо !
P/S Тормозит настолько жёстко, что пришлось удалять DB и logs
Интересно,есть какие-либо варианты облегчить его?
Но очень жёстко тормозит (надо уменьшать размер истории, видимо, методом тыка)
Евгений, спасибо !
P/S Тормозит настолько жёстко, что пришлось удалять DB и logs
Интересно,есть какие-либо варианты облегчить его?
Re: Вопрос по индикатору, разработанному Евгением.
evge, уточнение -
Имеется ввиду бары соответствующего ТФ?
К примеру, на S30 за день 1660 баров , так?
AddParameter("ЛюбоеИмя", 1000, 5) - 1000 * 5 - попытка принудительно прочитать 5000 баров истории.
Имеется ввиду бары соответствующего ТФ?
К примеру, на S30 за день 1660 баров , так?
-
- Сообщения: 535
- Зарегистрирован: 11 ноя 2018, 17:11
- Благодарил (а): 21 раз
- Поблагодарили: 92 раза
Re: Вопрос по индикатору, разработанному Евгением.
Документ "СКРИПТЫ ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ И СТРАТЕГИЙ"
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)
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 367 раз
- Контактная информация:
Re: Вопрос по индикатору, разработанному Евгением.
На 90% вопросов там есть ответ.
Здесь, в форуме, продублировать конечно полезно.
Не забывайте заглядывать в документацию.
Здесь, в форуме, продублировать конечно полезно.
Не забывайте заглядывать в документацию.
никогда такого не было и вот опять
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 26 гостей