Ошибки, баги, вопросы - страница 1936
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пока не готов показать код по причине
Но готов показать результаты профилирования из MT5 - как я понимаю о торговых функциях речи нет.
Может я что-то делаю не так?Для окружения OHLC использую такие функции
К сожалению, вы все делаете не так.
Вместо того, чтобы написать родной и эффективный MQL5 код, вы используете страшно неэффективный эмулятор MQL4 кода, который тормозит работу в десятки раз.
Плохо то, что вы даже не понимаете, что делаете, раз заявляете вопросы про скорость.в итоге код такой
https://www.mql5.com/ru/code/18305
https://www.mql5.com/ru/code/18305
Спасибо - я видел эту библиотеку - в описании смутило
Основная часть времени расходуется на этапе инициализации. Если вы не планируете многократного — более нескольких тысяч раз в течение формирования бара — доступа к данным таймсерий, вам следует рассмотреть альтернативные методы.
К сожалению, вы все делаете не так.
Вместо того, чтобы написать родной и эффективный MQL5 код, вы используете страшно неэффективный эмулятор MQL4 кода, который тормозит работу в десятки раз.
Плохо то, что вы даже не понимаете, что делаете, раз заявляете вопросы про скорость.Я конечно искал решение - как заменить функции MQL4 на MQL5, в частности обращение к тайм сериям, и увидел, что это одна из проблем с которой сталкивается большинство людей, переходящих на MQL5.
Соответственно, решение я нашел на этом же сайте, где в одной из статей рекомендовался примененный мной метод.
Лично я, не понимаю, какой смысл изымать хорошие и удобные функции из языка.
Поэтому, к Вам вопрос, как же надо правильно было организовать получение информации, что б почувствовать преимущество языка MQL5?
Поэтому, к Вам вопрос, как же надо правильно было организовать получение информации, что б почувствовать преимущество языка MQL5?
Использовать родные, более производительные функции MQL5 языка и не цепляться за MQL4 код. Любой конвертор/упрощатель MQL4 -> MQL5 несет в себе замедление в десятки раз, так как он пытается микрофункции прямого доступа из MQL4 сэмулировать через массовые операции MQL5. Причем эмуляция абсолютно без оптимизации и кеширования.
В корне использования той или иной функции(куска кода, включая чужой код) должно лежать понимание, что конкретно делается. Иначе получается "я просто использовал чужой код, смотрите - скорость упала!". Без понимания инструмента и того, что ты с ним делаешь, хорошего результата не получить.
В дополнение к "как правильно", уточню, что задача "научить(ся) программированию" экстремально сложная, как только ты поднимаешься выше самого базового уровня оперирования(даже не понимания, а именно оперирования) языком. Поэтому я не вижу другого способа обучения, кроме как прочтения массы статей, документации, готового кода в библиотеке и обязательной практики в течение нескольких лет.
Использовать родные, более производительные функции MQL5 языка и не цепляться за MQL4 код.
В корне использования той или иной функции(куска кода, включая чужой код) должно лежать понимание, что конкретно делается. Иначе получается "я просто использовал чужой код, смотрите - скорость упала!". Без понимания инструмента и того, что ты с ним делаешь, хорошего результата не получить.
В дополнение к "как правильно", уточню, что задача "научить(ся) программированию" экстремально сложная, как только ты поднимаешься выше самого базового уровня оперирования(даже не понимания, а именно оперирования) языком. Поэтому я не вижу другого способа обучения, кроме как прочтения массы статей, документации, готового кода в библиотеке и обязательной практики в течение нескольких лет.
Ренат, а Вы смотрели код базу? Там что-то мне попадается код с именно адаптированными функциями с языка MQL4.
Прошу Вас конкретно написать, как получать правильно информацию об окружении - отсылать к абстрактным книжкам не продуктивно и лишь укрепляет мое (вероятно не верное) представление о том, что этот отсыл лишь отмазка, которую нельзя проверить.
Говорить о том, что я на столько тупой, что не понимаю смысл функции, который заключается в копировании информации в массив - значит говорить о низком уровне составления сопроводительной документации к языку программирования. Я не понимаю, в чем преимущество этого копирования из одного массива в другой и почему функция, получающая информацию из массива, по мере необходимости, является ужасным кодом.
Я конечно искал решение - как заменить функции MQL4 на MQL5, в частности обращение к тайм сериям, и увидел, что это одна из проблем с которой сталкивается большинство людей, переходящих на MQL5.
Соответственно, решение я нашел на этом же сайте, где в одной из статей рекомендовался примененный мной метод.
Лично я, не понимаю, какой смысл изымать хорошие и удобные функции из языка.
Поэтому, к Вам вопрос, как же надо правильно было организовать получение информации, что б почувствовать преимущество языка MQL5?
Может плохо искал? Вот тут, за одно копирование получаем всё что нужно вместо всего этого кода
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Aleksey Vyazmikin, 2017.07.21 01:20
Спасибо - исправил.
в итоге код такой
Время в тесторе выросло - устал уже ждать :)
Для того чтобы воспользоваться этим, достаточно понять что такое структура
Может плохо искал? Вот тут, за одно копирование получаем всё что нужно вместо всего этого кода
Для того чтобы воспользоваться этим, достаточно понять что такое структура
Мы получаем одно и то же - фактически...
Предложенный Вами вариант подходит, есле:
- Расчет происходит только при открытии бара
- Предварительно известно, сколько баров потребуется
У меня в коде есть циклы, объем вычислений предварительно может быть неизвестен.
И, какой смысл при каждом открытии бара копировать по, допустим, 300 барам информацию, если логичней было бы просто добавлять информацию о новом баре - почему таким путем не пошел разработчик?
Но направление я покажу:
Вот и у меня никакого желания общаться в таком ключе. Вместо попытки понять что сказано, разобраться что получится, выкатываются какие-то неимоверные возражения.