Особенности языка mql5, тонкости и приёмы работы - страница 284
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Чтобы конструктивно обсуждать, нужно пример непонятного привести. Вот выше применил.
Мне нужно было перебрать комбинации входных параметров ТС для Тестера. И для каждой комбинации запустить оптимизацию.
Поэтому необходимо было сделать несколько вложенных for-циклов. Ну а для того, чтобы видеть номер варианта и комбинацию текущих входных, идет распечатка.
Конструктивно я не могу обсуждать Ваш код - слишком затратно для моего мозга понять его.
Просто интересно, это фишка такая, стиль, любовь, или демонстративный признак крутизны. Кажется, никто так активно больше не использует макросы.
Я не критикую, просто интересно... Вам всегда легко читать чужой код?
Соответственно, сделал через макрос. Чтобы удобно (одной строкой) задавать изменение одного из параметров ТС в наборе.
Вроде, оптимально получилось. Ведь другими инструментами лучше не решить задачу.
Ну не знаю, я бы делал внешнее изменение через настройки или файл... т.е. сама идея, что для изменения настроек требуется перекомпиляция несколько странная для меня.
Просто интересно, это фишка такая, стиль, любовь, или демонстративный признак крутизны. Кажется, никто так активно больше не использует макросы.
Это просто решение поставленной задачи. Если через макросы лучше - делаю через макросы. Возможно, задачи ставлю немного нестандартные, поэтому и решения такие выходят.
Я не критикую, просто интересно... Вам всегда легко читать чужой код?
Редко читаю чужой код. Очень редко. Например, Generic-библиотеку не понимаю, но использую. CTrade - очень легко. В обоих случаях авторы - MQ.
Ну не знаю, я бы делал внешнее изменение через настройки или файл... т.е. сама идея, что для изменения настроек требуется перекомпиляция несколько странная для меня.
Например, у вас несколько вариантов OnTester, и вы хотите для каждого сделать оптимизацию. Вот для подобных целей нужны такие коды, когда вариантов OnTester много.
Вот так работает.
У меня OnTester зависит от множества параметров (подсвечены). Добавить новый параметр в перебор - одна строка.
Задача нестандартная. Поэтому и решение такое. Как видно, удобное.
Это просто решение поставленной задачи. Если через макросы лучше - делаю через макросы. Возможно, задачи ставлю немного нестандартные, поэтому и решения такие выходят.
Получается, что специально не ищите вариант для использования макросов.
Задача нестандартная. Поэтому и решение такое. Как видно, удобное.
У меня скорей восприятие такого дела как костыля, временного решения, когда не хочется менять код, но нужно нечто проверить или поправить баг. Возможно, я не прав.
Помогли рассеять мысли, что Вам просто нравится использовать такие нестандартные решения.
Получается, что специально не ищите вариант для использования макросов.
Когда во время решения вижу кучу повторов, автоматически задумываюсь, как сделать оптимальнее. Это могут быть функции, ООП, указатели на функции, шаблоны, макросы, ArraySwap и прочее.
У меня скорей восприятие такого дела как костыля, временного решения, когда не хочется менять код, но нужно нечто проверить или поправить баг. Возможно, я не прав.
Автоматизация Тестера в несколько строк простым скриптом. Т.е. время на его написание и дальнейшие правки в тысячи раз занимает меньше времени/сил, чем ручная рутина.
Помогли рассеять мысли, что Вам просто нравится использовать такие нестандартные решения.
Не люблю программирование. Приходится себя заставлять.
Не люблю программирование. Приходится себя заставлять.
А какой вид деятельности любим?
А какой вид деятельности любим?
В силу очевидных причин он не ответит.
Как я понял, большинство участников портала не являются дипломированными программистами, а изучили язык по необходимости.
Но, может у человека есть совсем иной интерес, не связанный с рынком, и для него рынок является инструментом...
Если советник использует данные из файла, то есть несколько способов передать их Агентам.
У каждого есть свои плюсы и минусы, поэтому замерим еще и эффективность на случай оптимизаций.
Для этого включил семь локальных Агентов на мат. режим, песочницы которых находятся на RAMDrive.
Облако - tester_file.
Эффективность.
Локальные агенты - COMMON-file.
Эффективность.
Локальные Агенты - #resource.
Эффективность.
Итог.
Эффективность.
0 seconds
Нужно быстро и без Облака - #resource самый эффективный способ передачи данных на Агенты.
Остальные варианты жутко тормозят даже на RAMDrive, потому что выделение памяти под динамический массив данных на каждом проходе - очень дорого.
Если нужно много данных, то совсем неоднозначно, что имеет смысл связываться с Облаком.
Результаты OnTester на всех вариантах совпали - 1368151. Кеш на всякий случай руками удалялся перед запуском.
Нужно быстро и без Облака - #resource самый эффективный способ передачи данных на Агенты.
К сожалению, помимо ограничения на размер (sizeof(#resource) < 128Mb) с новыми данными требуется перекомпиляция, т.к. они вшиваются в EX5.
Если нужно много данных, то совсем неоднозначно, что имеет смысл связываться с Облаком.