Страница 1 из 1

Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 22 апр 2018, 13:20
nordseven
Рассчитываю индикатор из вышестоящего тайм фрейма. Столкнулся с тем что мне не хватает истории баров. В связи с чем возник вопрос, как вообще это работает? Где-то здесь читал, что используются только те бары, которые находятся в видимой части графика (это было бы ужасно для меня) по этому хотелось бы уточнить.
Если все таки для каждого тайм фрейма задан какой-то отрезок истории, который загружается по умолчанию то хотелось бы знать какой и как его можно увеличить для использования в расчётах?

Re: Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 22 апр 2018, 13:58
evge
третий параметр в AddParameter(...) - это множитель для истории в индикаторах (в стратегиях это 4-ый параметр, т.к. третий это описание параметра)

Код: Выделить всё

AddParameter("Period", ЗначениеПоУмолчанию, МножительДляЗагрузкиИстории)


так издревле повелось, что разработчики поместили сюда загрузку истории.

что это значит?

например вы указали

Код: Выделить всё

AddParameter("Period", 100, 1);


минимально будет загружено 100*1 баров истории (скорее всего больше)

Код: Выделить всё

AddParameter("Period", 100, 10);


минимально требуем загрузить 100 * 10 = 1000 баров истории.

Re: Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 22 апр 2018, 14:01
evge
из документации:

AddParameter(Name, Value)
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: Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 22 апр 2018, 17:49
nordseven
Большое спасибо. Дьявол кроется в деталях как обычно :)

Re: Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 26 апр 2018, 11:49
nordseven
Проверил. Сколько бы я не ставил параметр History с множителем.
На 5-ти минутном графике загружается 6285 баров,
на 1 минутном графике 6821 бар
по крайней мере так считает CurrentIndex.
Поправьте если я не прав.

Re: Не хватает баров из истории временного интервала (Time Frame)

Добавлено: 26 апр 2018, 12:06
evge
Возможно есть ограничение на максимум

создал индикатор он показал при незаданном множителе и параметре = 20
на сбере ~2600 баров CurrentIndex.

изменил код и поставил там 2000 параметр и 5 множитель

но загружено не 10000 баров

было ~5600