Ошибки, баги, вопросы - страница 3558
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что это значит?
Что это значит?
Вы используете FileReadArray()?
FileReadArray
Да. Такие сообщения не всегда бывают. Работа скрипта не останавливается.
не знаю куда такое писать, вроде бы эта тема больше подходит, откуда у меня взялся бан на 10 лет? вроде бы ни за что накинули (сегодня также снялся) Хотел ответить человеку тогда в своей теме.
Ну Вы же пишете, а значит - нет бана.
Если видите в профиле бан, перезагрузите роутер - наверняка у него динамический IP, и просто текущий попал на забаненный адрес. После перезагрузки роутера, IP сменится, и бана не будет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX
Renat Fatkhullin, 2024.03.20 02:21
Указатели требуют дополнительной проверки безопасности, что дает оверхед. Это основа управляемого языка.
Правильно ли я понимаю, что при вызове метода withPtr() указатель будет проверен количество раз, равное размеру массива m_a.x[], а при вызове метода withRef() указатель будет проверен только 1 раз?
Полный код прикрепил в виде скрипта. Скрипт сравнивает скорость выполнения методов withPtr() и withRef().
Для десяти миллионов обращений withRef() показывает примерно пятикратное ускорение (режим компиляции: maximum optimization):
Да. Такие сообщения не всегда бывают. Работа скрипта не останавливается.
Мне потребовалось много времени, чтобы обнаружить, что сообщение «Ошибка VirtualAlloc» связано с FileReadArray(), поскольку это происходило редко.
Это произошло из-за изменения в файле данных, которое привело к чтению за конец файла. Вы можете обнаружить это, поскольку оно вернет ошибку:
ERR_ARRAY_RESIZE_ERROR
4007
Недостаточно памяти для перемещения массива или попытка изменить размер статического массива
Ну Вы же пишете, а значит - нет бана.
Если видите в профиле бан, перезагрузите роутер - наверняка у него динамический IP, и просто текущий попал на забаненный адрес. После перезагрузки роутера, IP сменится, и бана не будет.
Да, роутер с динамик. айпи. Спасибо.
Такой тут ещё впрос. достал я советник, закинул в тестер мт5, он долго думал потом сказал инит файлед.. Но он рабочий. Перекинул на другой комп - работает всё ок. Перегррузил свой- тоже работает, они по ходу как то связаны с оперативной памятью или нет? Если её очистить под 0 то тоже ошибка исчезает.
Правильно ли я понимаю, что при вызове метода withPtr() указатель будет проверен количество раз, равное размеру массива m_a.x[], а при вызове метода withRef() указатель будет проверен только 1 раз?
Полный код прикрепил в виде скрипта. Скрипт сравнивает скорость выполнения методов withPtr() и withRef().
Для десяти миллионов обращений withRef() показывает примерно пятикратное ускорение (режим компиляции: maximum optimization):
Вы использовали лайфхак преобразования указателя в объект.
Тем самым обнулив проверку указателя на каждой итерации цикла. Выглядит, как ошибка языка, приводящая к ускорению.
Это произошло из-за изменения в файле данных, которое привело к чтению за конец файла.
Не понял, т.е. файл слишком большой и не хватило памяти ОЗУ? По факту файл не большой и уменьшается в процессе работы скрипта.
Вот функция чтения - раньше не замечал подобных сообщений - активно использую не менее года.