Ошибки, баги, вопросы - страница 2574
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Банально если в ontick распечатать результаты этих функций то это для времени 1970.01.01 для цены 0
Может в вашем компе тараканы? У меня в билде 1220 этот код
распечатывает
Банально если в ontick распечатать результаты этих функций то это для времени 1970.01.01 для цены 0
Код ошибки какой?
Какие параметры тестирования?
Данные по неделькам и месяцовкам подгружены? Сколько их всего есть?
Код ошибки какой?
Какие параметры тестирования?
Данные по неделькам и месяцовкам подгружены? Сколько их всего есть?
я перепроверил и сейчас все работает.
историю я загружал.
Спасибо.
Наблюдение за памятью.
У меня в коде около тысячи раз выполняется CopyRates.
Затем массив котировок каким-то образом обрабатывается, и в конце этого я вызываю:
ArrayRemove(МассивКотировок,0,РазмерМассива);
ArrayFree(МассивКотировок);
ArrayResize(МассивКотировок,0);
ArrayFree(МассивКотировок);
ZeroMemory(МассивКотировок);
(просто эксперементировал по-разному)
Результат - память все равно геометрически растет и забивается, вместе с ней и нагрузка на процессоры - процессор на i7 забивается на 80% в совокупности по всем логическим ядрам, память больше Гига.
Пока что удалось ограничить потребление ресурсов с помощью сторонней программы - процессор не больше 15% и память не больше Гига.
Вопрос - это баг или особенность платформы?
Кстати, странное поведение метаэдитора, желательно исправить:
fn_call();/////////////////////
двойной клик по слешам выделяет слеши с предыдущим символом (если там не цифра/буква).
Почему неудобно? Сделали временную правку в коде, выделили место таким образом, далее нужно быстро выделить и удалить одни слеши.
Всё же вернусь к вопросу передачи из dll строк, wchar_t * как указатель.
Из статьи Рената по работе со строками в dll понятно, что в mql тип string принимает из внешней dll указатель на строку wchar_t *.
То есть в dll отправляем wchar_t *, в mql принимаем как string &.
Но почему то Сишная функция
работает не корректно, т.е. указатель на строку wchar_t * dest, в mql принимается , но с перебоями, то поступает то нет.
Иногда падает терминал, программа завершена.
С функцией
терминал не падает, но так же строки поступают с перебоями.
Прошу поправить в ближайшем билде.
ЗЫ. Забыл уточнить, что указатель wchar_t * передаётся из другого потока.
т.е. функция wcscpy_s или wcscpy, вызываются в отдельном потоке.
Всё же вернусь к вопросу передачи из dll строк, wichar_t * как указатель.
Из статьи Рената по работе со строками в dll понятно, что в mql тип string принимает из внешней dll указатель на строку wichar_t *.
То есть в dll отправляем wichar_t *, в mql принимаем как string &.
Но почему то Сишная функция
работает не корректно, т.е. указатель на строку wichar_t * dest, в mql принимается , но с перебоями, то поступает то нет.
Иногда падает терминал, программа завершена.
С функцией
терминал не падает, но так же строки поступают с перебоями.
Прошу поправить в ближайшем билде.
ЗЫ. Забыл уточнить, что указатель wichar_t * передаётся из другого потока.
т.е. функция wcscpy_s или wcscpy, вызываются в отдельном потоке.
А память под string dest, кто выделять будет?
Память выделена в mql коде как
out и передаётся как указатель на выделенную память, так как string в mql, это wchar_t* в dll
Func("Task", out);