Как подгрузить данные более чем за год до начала тестирования?

 

Отлаживаю робота на исторических данных. Подключаю пользовательские инструменты. В них часовики до января 2012. Тем не менее, если я подлючаю тестирование с января 2017 года, первые доступные свечи - январь 2016. Если с 01.2018 то с 01.2017. Можно ли как-нибудь это обойти?

 
TraSer:

Отлаживаю робота на исторических данных. Подключаю пользовательские инструменты. В них часовики до января 2012. Тем не менее, если я подлючаю тестирование с января 2017 года, первые доступные свечи - январь 2016. Если с 01.2018 то с 01.2017. Можно ли как-нибудь это обойти?

обратится к ним в OnInit()

 
Задать Тестеру начало тестирования с запасом, пропустить в советнике исторические данные до нужной даты и тогда торговать.
 

Запускаете тестирование раньше, чем нужная дата начала тестирования, а в OnTick() пишете такой код:

void OnTick()
{
   if (IsTesting() && TimeCurrent() < D'<необходимая дата начала теста>')
      return;
}
 
Чтобы не переделывать потом под реальные торги, я поступлю иначе, а именно открою csv-файл, как текстовый.
 
TraSer:
Чтобы не переделывать потом под реальные торги, я поступлю иначе, а именно открою csv-файл, как текстовый.

Ничего переделывать не нужно. В коде это предусмотрено - функция IsTesting().

 
Но, вроде как IsTesting() запускается только при тестировании, а в OnInit() при реальных торгах нужно дублировать код или писать похожий?
 
TraSer:
Но, вроде как IsTesting() запускается только при тестировании, а в OnInit() при реальных торгах нужно дублировать код или писать похожий?

В чем заключается проблема при онлайн работе? Вы же писали именно про тестирование.

Причина обращения: