Ошибка тестера 131 при закачке тиковых котировок

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
skforex.ru
40
skforex.ru  
Добрый день, друзья!

По статье http://tradelikeapro.ru/testirovanie-s-kachestvom-99/ скачал тиковые котировки для EURUSD. В статье не актуальная версия QuantDataManager (даже название сменилось), поэтому пришлось делать методом тыка.

В итоге, при апдейте котировок в смысле добавления тиков по EURUSD тестер стал выдавать ошибку #131 - ERR_INVALID_TRADE_VOLUME - Неправильный объем.

Подозреваю, что дело в настройках инструмента
http://fxpics.ru/image/42Yhq

Подскажите, пожалуйста, кто в курсе. Что и как надо сделать, чтобы получить заветные 99% качества тестирования вместо ошибки #131

Заранее благодарю
Как тестировать советники с качеством 99% — легко, бесплатно, легально
Как тестировать советники с качеством 99% — легко, бесплатно, легально
  • tradelikeapro.ru
Здравствуйте, уважаемые коллеги форекс трейдеры! Как известно, для тестирования форекс советников (особенно скальперов, пипсовщиков, чувствительных индикаторных роботов) в настоящее время стало признаком хорошего тона проводить тесты с качеством 99%, то есть с использованием тиковых данных от сторонних источников. Мы ранее уже писали про...
Ihor Herasko
21739
Ihor Herasko  
Ошибка 131 относится к торговым операциям. Никакого отношения к истории тиков не имеет. Ищите ошибку в советнике, там, где происходит расчет объема рыночного или отложенного ордера.
skforex.ru
40
skforex.ru  
Ihor Herasko:
Ошибка 131 относится к торговым операциям. Никакого отношения к истории тиков не имеет. Ищите ошибку в советнике, там, где происходит расчет объема рыночного или отложенного ордера.

Спасибо за ответ, но Вы НЕ правы.

Только что провел эксперимент еще на одной паре (AUDUSD), которая пока была "чистая" тестер отлично работал. Как только закачал тиковые котировки -- сразу такая же ситуация с ошибкой 131.

Сомнений в том, что виноваты новые котировки быть не может.

Ihor Herasko
21739
Ihor Herasko  
skforex.ru:

Спасибо за ответ, но Вы НЕ правы.

Только что провел эксперимент еще на одной паре (AUDUSD), которая пока была "чистая" тестер отлично работал. Как только закачал тиковые котировки -- сразу такая же ситуация с ошибкой 131.

Сомнений в том, что виноваты новые котировки быть не может.

Я настаиваю - ответ верный. Посмотрите, что насчет этой ошибки написано в документации. А котировки не виноваты, они лишь показывают, что код советника составлен без учета множества нюансов, возможных на рынке.

Artyom Trishkin
Модератор
56404
Artyom Trishkin  
skforex.ru:

Спасибо за ответ, но Вы НЕ правы.

Только что провел эксперимент еще на одной паре (AUDUSD), которая пока была "чистая" тестер отлично работал. Как только закачал тиковые котировки -- сразу такая же ситуация с ошибкой 131.

Сомнений в том, что виноваты новые котировки быть не может.

Ошибки времени выполнения - Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL4
Ошибки времени выполнения - Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
GetLastError() – функция, возвращающая код последней ошибки, которая хранится в предопределенной переменной _LastError. Значение этой переменной можно сбросить в ноль функцией ResetLastError().
skforex.ru
40
skforex.ru  
Ihor Herasko:

Я настаиваю - ответ верный. Посмотрите, что насчет этой ошибки написано в документации. А котировки не виноваты, они лишь показывают, что код советника составлен без учета множества нюансов, возможных на рынке.

Что Вы имеете в виду под множеством нюансов?
Artyom Trishkin
Модератор
56404
Artyom Trishkin  
skforex.ru:
Что Вы имеете в виду под множеством нюансов?

Например, плавающий спред.

Ihor Herasko
21739
Ihor Herasko  
skforex.ru:
Что Вы имеете в виду под множеством нюансов?

Размер минимального, максимального объема, а также шага изменения объема. Все это далеко не всегда правильно учитывается при расчетах. Скорее всего, котировки дают такие торговые сигналы, которые приводят к нестандартным (с точки зрения автора кода) размерам Stop Loss, Take Profit или каких-то других величин, на основе которых рассчитывается объем ордера. В итоге полученное значение не вписывается в нужные рамки. Вполне возможно, что при шаге изменения объема 0.01 получается значение типа 0.01347653. Это неправильный объем, который и приводит к ошибке 131.

skforex.ru
40
skforex.ru  

И все-таки дело в котировках.

Скачал тики с помощью программы Tick Data Suite -- все отлично!

Вот вопрос, что не так с котировками от QuantDataManager? Дело точно в каких-то настройках...

skforex.ru
40
skforex.ru  
Ihor Herasko:

Размер минимального, максимального объема, а также шага изменения объема. Все это далеко не всегда правильно учитывается при расчетах. Скорее всего, котировки дают такие торговые сигналы, которые приводят к нестандартным (с точки зрения автора кода) размерам Stop Loss, Take Profit или каких-то других величин, на основе которых рассчитывается объем ордера. В итоге полученное значение не вписывается в нужные рамки. Вполне возможно, что при шаге изменения объема 0.01 получается значение типа 0.01347653. Это неправильный объем, который и приводит к ошибке 131.

Artyom Trishkin:

Например, плавающий спред.

Дело в том, что советник разрабатывается уже не первый год. Ничего подобного никогда не было, ни на тестах, ни на демо-счетах.

Очень мала вероятность того, что там какая-то такая хитрая ошибка, которая вылезла вот только так. Вся верификация данных там прописана.

Ihor Herasko
21739
Ihor Herasko  
skforex.ru:

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

Большинство современного ПО разрабатывается не один год. Тот же Windows, здешний МТ. И все равно в них находят ошибки. Идеала достичь невозможно, можно лишь приблизиться к нему.

Ошибка 131 - это ошибка торговой операции.

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