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