Подозреваю, что ошибка выдаётся когда массив имеет нулевой размер.
Можете не подозревать, т.к. проверку на предмет наличия сделок в истории я в свой советник воткнул - функция с сортировкой не вызывается. Да и на скриншоте также видно, что сделки открываются, закрываются, а ошибки продолжают сыпаться непрерывно. После перезагрузки терминала все работает нормально (по крайней мере после перезагрузки глюк пока еще не встречал).
Reshetov:
Встроенная функция ArraySort() иногда выдает ошибку "incorrect start position 0 for ArraySort function" и при этом ничего не сортирует:
У меня была такая же ошибка и не только в ArraySort.
На 100% не ручаюсь, но по-моему она действительно была связана с нулевым размером и решилась таким образом -
if(ArrayRange(ARRAY_HIST,0)>0 ) { ArraySort(ARRAY_HIST, WHOLE_ARRAY,0,MODE_ASCEND); }
Такая же проблема была. Просто указал размер массива.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Встроенная функция ArraySort() иногда выдает ошибку "incorrect start position 0 for ArraySort function" и при этом ничего не сортирует:
Код в котором данная ошибка проявляется был взят на блоге Rosh-a: http://simple-testing.blogspot.com/2007/07/blog-post_3924.html
Код был вставлен в советник без изменений и дополнений. Т.е. в нем вообще нет указания на номер стартовой позиции для сортировки. Других вызовов функции ArraySort() в советнике нет.
Ошибка проявляет себя не всегда, т.е. при одном тестировании появляется, а если перезагрузить терминал то при тех же параметрах советника тест проходит нормально.
Чаще всего ошибка появляется после оптимизации, но не всегда - неявный глюк.