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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
TraSer
91
TraSer  

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

Igor Zakharov
6188
Igor Zakharov  
TraSer:

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

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

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

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

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

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий