Доступ к статистике форвард-тестирования
Я использую TesterStatistics()
функция (вызывается из OnDeinit()
функция) экспортировать статистические значения различных стратегий тестирования:
void OnDeinit(const int /*reason*/)
{
int h = FileOpen("results.txt", FILE_WRITE|FILE_UNICODE|FILE_TXT|FILE_COMMON);
if (h != INVALID_HANDLE)
{
FileWrite(h, TesterStatistics(STAT_PROFIT));
FileWrite(h, TesterStatistics(STAT_SHORT_TRADES));
FileWrite(h, TesterStatistics(STAT_LONG_TRADES));
FileWrite(h, TesterStatistics(STAT_BALANCE_DD));
FileWrite(h, TesterStatistics(STAT_BALANCE_DDREL_PERCENT));
FileClose(h);
}
}
Это работает, но кажется ограниченным простым бэк-тестированием.
Как экспортировать результаты бэк-тестирования и форвард-тестирования?
Результаты форвард-теста отображаются на отдельной вкладке "Вперед". Дата начала форвардного периода отмечена вертикальной линией на графике:
Могу ли я получить доступ к этой информации программно?
1 ответ
Вы правы в том, что терминал MetaTrader 5 не распознает (и, честно говоря, никто другой также не может) разницу между проведением реальной торговли и совершением тех же самых действий, но не является форвардным тестированием.
Тем не менее, есть способ сбора статистики
Мы используем это и в другом контексте, когда наше тестирование на самом деле не использует встроенные инструменты StrategyTester (мы обнаружили некоторые странные проблемы бухгалтерского учета (когда неосновная валюта депозита не была правильно включена в записи S /T в течение определенного времени).
Мы написали наши собственные ReportResults()
и позвонить из OnDeinit()
обработчик.
Это работает как шарм.