как получить значение Absolute Drawdown из тестера (МТ4)

 

Подскажите плиз, нужно получить значение Absolute Drawdown из тестера, не посчитать а именно получить то же число. Оно кстати может принимать разные значения в зависимости от того тестируем ли по тикам, или по барам или как еще....

Понимаю что не долго расчитать ДД и самому, но просто очень любопытно как это сделать по белому ;)

Итак, если не ошибаюсь, это должна быть разность от начального депозита и минимального эквити. Соответственно вызываю

TesterStatistics(STAT_INITIAL_DEPOSIT);  -- с этим порядок

TesterStatistics(STAT_BALANCEMIN);

TesterStatistics(STAT_EQUITYMIN); -- а вот тут трабла, оба запроса возвращают 0. Может я что то не так делаю? Вызов функций из deinit(), МТ 4, билд 765.

Де там грабли? 

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
diushych:

Подскажите плиз, нужно получить значение Absolute Drawdown из тестера, не посчитать а именно получить то же число. Оно кстати может принимать разные значения в зависимости от того тестируем ли по тикам, или по барам или как еще....

Понимаю что не долго расчитать ДД и самому, но просто очень любопытно как это сделать по белому ;) 

Итак, если не ошибаюсь, это должна быть разность от начального депозита и минимального эквити. Соответственно вызываю 

TesterStatistics(STAT_INITIAL_DEPOSIT);  -- с этим порядок

TesterStatistics(STAT_BALANCEMIN);

TesterStatistics(STAT_EQUITYMIN); -- а вот тут трабла, оба запроса возвращают 0. Может я что то не так делаю? Вызов функций из deinit(), МТ 4, билд 765.

Де там грабли? 

Хмм, и правда не выдает.

double OnTester()
{
    double d0 = TesterStatistics(STAT_INITIAL_DEPOSIT);
    double d1 = TesterStatistics(STAT_BALANCEMIN);
    double d2 = TesterStatistics(STAT_EQUITYMIN);
    double d3 = TesterStatistics(STAT_BALANCE_DD);

    Print(d0, "   ", d1, "   ", d2, "   ", d3);

2014.12.21 19:49:03.372    2014.12.19 23:58  SmartNet EURUSD.e,M1: 3000.0   0.0   0.0   317.5799999999995
Напишите в сервис-деск, они там быстро отзываются

 

В четвёрке значения минимального баланса и минимального эквити не сохраняются. Поэтому и не отдаются. Посмотрите значение, возвращаемое функцией GetLastError - 4051 (неправильный параметр)

Посмотрим, что можно сделать

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