И опять к вопросу о достоверности результатов тестирования. Может пора исправить? - страница 2

 
Andrey Khatimlianskii:

Это на мой пост ответ?

А это было предложение?

 
Сергей Таболин:

А это было предложение?

Да. Или информация к размышлению.

 
Andrey Khatimlianskii:

Да. Или информация к размышлению.

Думал вопрос )))

tester_everytick_calculate

string

В тестере стратегий индикаторы рассчитываются только при обращении к ним за данными – то есть только в тот момент, когда запрашиваются значения индикаторных буферов. Это даёт существенное ускорение при тестировании и оптимизации, если не требуется получать значения индикатора на каждом тике. ........


Спасибо, но это лишнее.

Как я уже отмечал, индикаторные буфера считываются только на новом баре, и если тестер отрабатывает как заявлено, то на момент принятия решения все необходимые значения буферов уже есть.

Я могу и ошибаться, но мне кажется что мой вопрос поднятый в этой теме тесно связан с моим вопросом в другой теме...

 
Сергей Таболин:

Думал вопрос )))

tester_everytick_calculate

string

В тестере стратегий индикаторы рассчитываются только при обращении к ним за данными – то есть только в тот момент, когда запрашиваются значения индикаторных буферов. Это даёт существенное ускорение при тестировании и оптимизации, если не требуется получать значения индикатора на каждом тике. ........


Спасибо, но это лишнее.

Как я уже отмечал, индикаторные буфера считываются только на новом баре, и если тестер отрабатывает как заявлено, то на момент принятия решения все необходимые значения буферов уже есть.

Я могу и ошибаться, но мне кажется что мой вопрос поднятый в этой теме тесно связан с моим вопросом в другой теме...

Неужели сложно добавить одну строку и проверить предположение?

Я не зря посоветовал, отличие визуализатора от не-визуализатора может быть именно в этом.

 
Andrey Khatimlianskii:

Неужели сложно добавить одну строку и проверить предположение?

Я не зря посоветовал, отличие визуализатора от не-визуализатора может быть именно в этом.

Нет, конечно не сложно, но Вы, видимо, не заметили одно из моих последних сообщений (именно поэтому я и связываю эту проблему с другой) - после перезагрузки терминала проблема с "пропуском" сигнала на закрытие позиции пропала. Из этого я делаю вывод, что предложенное Вами решение не имеет к проблеме отношения (в любом случае уже не проверить).

 
Сергей Таболин:

Нет, конечно не сложно, но Вы, видимо, не заметили одно из моих последних сообщений (именно поэтому я и связываю эту проблему с другой) - после перезагрузки терминала проблема с "пропуском" сигнала на закрытие позиции пропала. Из этого я делаю вывод, что предложенное Вами решение не имеет к проблеме отношения (в любом случае уже не проверить).

Да, пропустил "А он уже отработал как надо".

 

А не может ли быть связано с нехваткой памяти?

В логе что-то типа "MemoryException: xxxxxxxx bytes not available".

 
JRandomTrader:

А не может ли быть связано с нехваткой памяти?

В логе что-то типа "MemoryException: xxxxxxxx bytes not available".

Это было бы замечательно. 

К сожалению, это не так...

 

Столкнулся с аналогичной проблемой, при визуальном тестировании одно, при оптимизации нулевые результаты. Но у меня "тяжелый" индикатор с самооптимизацией, ему для первичных расчетов надо время. Так вот, в режиме оптимизации тестер не дает ему время и гонит советник без входных рассчитанных данных от индикатора, в итоге получаем нули, сделок нет вообще.


Andrey Khatimlianskii:

Неужели сложно добавить одну строку и проверить предположение?

Я не зря посоветовал, отличие визуализатора от не-визуализатора может быть именно в этом.

#property tester_everytick_calculate 

решило проблему частично, первичные данные советник получает, но после первичных данных индикатор через пол минуты делает еще один перерасчет выходных данных, которые советник в режиме оптимизации уже не получает и делает проход по первичным данным, естественно получаем ужасный результат.

В моём случае надо как-то тормознуть оптимизацию (и тестирование) на время пересчета индикатора, при работе в визуальном тестере я нажимаю паузу, как автоматизировать этот процесс, может кто подсказать? Я пока что вижу только один способ - в режиме оптимизации подсовывать советнику готовые, уже пересчитанные индикатором данные, но этот костыль жутко не удобен, к тому же я не могу проверить, если делать пересчет, допустим, раз в сутки, принесет ли это улучшение результатов. 

 
Konstantin Efremov:

но после первичных данных индикатор через пол минуты делает еще один перерасчет выходных данных, которые советник в режиме оптимизации уже не получает и делает проход по первичным данным, естественно получаем ужасный результат.

Вы утверждаете, что CopyBuffer возвращает данные индикатора, не дав ему завершить расчеты?
Вы можете это воспроизвести?

По идее, тестер работает просто, как топор — считает все, что ему скажут, и только при выходе из обработчика события (Тик, Таймер) генерирует следующее.
Но из ваших слов следует, что он прерывает расчеты, если они производятся в индикаторе. Звучит сомнительно.