Вопросы от "чайника" - страница 203

 

Спасибо за ответы! Передвинул начало периода тестирования с запасом и в эксперт включил проверку копирования данных в массив. При недостатке данных эксперт просто не работает.

double h[1000],l[1000];

if(CopyHigh("EURUSD",PERIOD_D1,1,1000,h)<1000 || CopyLow("EURUSD",PERIOD_D1,1,1000,l)<1000) return;

Хотя честно говоря такой способ решения проблемы является весьма неожиданным - на чарте в терминале бары вроде бы как есть (уже всё скачано с огромным запасом с торгового сервера), а тестер к ним доступа не имеет.

Неплохо было бы этот случай как-то вписать в документацию прямым текстом в виде примера под заголовком "Как обойти ограничения тестера в начале периода тестирования".

 
solandr: Хотя честно говоря такой способ решения проблемы является весьма неожиданным - на чарте в терминале бары вроде бы как есть (уже всё скачано с огромным запасом с торгового сервера), а тестер к ним доступа не имеет.

Посмотрите раздел Справочника про тестирование. По-моему, там доводится мысль, что в связке "терминал - тестер" терминал выполняет роль сервера, а тестер - роль терминала. Т.е., если в терминале имеется вся доступная история, то этого ещё недостаточно для того, чтобы история такого же объёма оказалась и в тестере. Тестер  подкачивает историю самостоятельно исходя из настроек для тестирования, и может случиться так, что объём такой истории окажется недостаточным для логики тестируемой программы.

Сам с закачкой истории для тестирования больших таймфреймов не работал, но попробуйте вместо увеличения интервала тестирования вставить в код так называемый "скрипт для закачки истории". По идее, этот скрипт и должен обеспечить закачку истории необходимой  глубины для тестирования (тем более, что логику его работы Вы уже воспроизвели).

 
Yedelkin:

Сам с закачкой истории для тестирования больших таймфреймов не работал, но попробуйте вместо увеличения интервала тестирования вставить в код так называемый "скрипт для закачки истории". По идее, этот скрипт и должен обеспечить закачку истории необходимой  глубины для тестирования (тем более, что логику его работы Вы уже воспроизвели).

Не получится
 
stringo: Не получится
Понятно. Значит, мне повезло с использованием аналогичного скрипта в целях закачки истории по нескольким инструментам на М1 (глубина запроса не превышала двух-трёх недель). История была, а в результате чего именно она появилась, я и не задумывался.
 
stringo:
Не получится
Действительно не получилось. Тестер жёстко закачивает историю по своим правилам и скрипт для закачки истории, встроенный в советник, ничего дополнительного качнуть не может.
 
solandr: Действительно не получилось. Тестер жёстко закачивает историю по своим правилам и скрипт для закачки истории, встроенный в советник, ничего дополнительного качнуть не может.
Тогда непонятен вот такой момент: что делать, если необходимо протестировать только последний месяц, но при этом программа требует для анализа данные 3-х летней давности D1..
 
Yedelkin:
Тогда непонятен вот такой момент: что делать, если необходимо протестировать только последний месяц, но при этом программа требует для анализа данные 3-х летней давности D1..
При первом обращении к истории тестер начнёт докачку (вроде так)
 

Такое дело выявлено давненько.На Д1 история подключается +1 год.

Потому если указать старт теста 01.01.2012,то чтобы советник сразу начал торговлю период средней должен быть менее 260 .

То есть ее подсчитает к началу периода теста на данных 2011 года.

 

Если же нам нужна предположим 520 дневная средняя,то может попытаться указать начало теста 01.01.2011 .

При этом данные  поступят с 2010 года и к началу 2012 будет доступна 520 дневная средняя.

Советник без данных торговать не должен. 

 
notused: При первом обращении к истории тестер начнёт докачку (вроде так)
 Но, по сути, скрипт закачки истории делает те же самые телодвижения, а именно: обращается к истории (причём в случае неудач - обращается неоднократно).
 
Karlson: Если же нам нужна предположим 520 дневная средняя,то может попытаться указать начало теста 01.01.2011 .

При этом данные  поступят с 2010 года и к началу 2012 будет доступна 520 дневная средняя. 

 Т.е. моё первое предложение насчёт увеличения интервала тестирования - единственно возможное решение? :/
Причина обращения: