Ошибки, баги, вопросы - страница 1997
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что первым вспомнилось
Есть ещё где-то...Спасибо, не пришло в голову, что это общее правило.
Возможно ваши мысли о чём-то другом, но для конкретного случая банальная невнимательность программиста привела к такой ошибке.
Да, я о другом. Если бы переменные насильно инициализировались самим MQL5, то количество случаев "тестер выдает разные результаты" значительно сократилось бы. Сейчас же имеем много возможностей написания рэндомных советников.
Если бы переменные насильно инициализировались самим MQL5, то количество случаев "тестер выдает разные результаты" значительно сократилось бы.
...и упала бы скорость инициализации.
Понятно, что в общем случае — незначительно, но все же.
...и упала бы скорость инициализации.
Понятно, что в общем случае — незначительно, но все же.
Именно по этой причине только озвучиваю мысли, но не выступаю за это решение. Спасибо @Anton Ohmat, что обратил внимание на рэндомные ТС с еще одной стороны.
...и упала бы скорость инициализации.
Понятно, что в общем случае — незначительно, но все же.
Вот этого аргумента я не понимал (когда его MQ выдвигали) и не понимаю сейчас. Инициализация-то никуда не денется. Сейчас она возложена на прикладного программиста и он её все равно делает, но как показывает практика - иногда с ошибками. А если бы её делало ядро, то на быстродействии это никак бы не сказалось, а ошибок бы не было.
Вот этого аргумента я не понимал (когда его MQ выдвигали) и не понимаю сейчас. Инициализация-то никуда не денется. Сейчас она возложена на прикладного программиста и он её все равно делает, но как показывает практика - иногда с ошибками. А если бы её делало ядро, то на быстродействии это никак бы не сказалось, а ошибок бы не было.
Полная инициализация нужна не всегда. Например, для индикатора, который значение буфера для каждого бара заполняет в цикле (и делает это вне зависимости от того, инициализирован индикаторный буфер или нет).
В этом случае будет экономнее без принудительного обнуления.
Вот этого аргумента я не понимал (когда его MQ выдвигали) и не понимаю сейчас. Инициализация-то никуда не денется. Сейчас она возложена на прикладного программиста и он её все равно делает, но как показывает практика - иногда с ошибками. А если бы её делало ядро, то на быстродействии это никак бы не сказалось, а ошибок бы не было.
Давайте возьмём к примеру массив буфер индикатора: При инициализации индикатора буфер имеет нулевую длину. Что там инициализировать нулями? При добавлении очередного индекса его принудительно обнулять и потом заполнять каким-то значением??? Для чего это обнуление или заполнение EMPTY_VALUE? А если есть необходимость назначить PLOT_EMPTY_VALUE и не 0 и не EMPTY_VALUE или принудительно одно, а надо другое... Как ни крути получается лишняя трата времени...
А пользовательский массив... Массив-то объявляется для каких-то данных отличных от нуля и EMPTY_VALUE. Так с какой целью его принудительно инициализировать чем-то?
Вот и получается, что на быстродействие в большинстве случаев сказывается.
А пользовательский массив... Массив-то объявляется для каких-то данных отличных от нуля и EMPTY_VALUE. Так с какой целью его принудительно инициализировать чем-то?
Чтобы было меньше "результаты тестера на совпадают".
Чтобы было меньше "результаты тестера на совпадают".
А кому оно надо?
Напишите статью в которой будет в каждом абзаце говориться что заказывать советники надо не у кого попало. Что писать советники надо правильно.
А кому оно надо?
Мне и, почти уверен, разработчикам.