Модульность, взаимозаменяемость, базовые принципы проектирования. Думаю для большинства кто занимается разработкой на более-менее регулярной основе это очевидно и нового ничего статья не несёт. Но для новичков, кто вообще через MQL знакомится с программированием может и откроет глаза)
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья Построение советника с использованием отдельных модулей:
В процессе разработки индикаторов, советников и скриптов, разработчику приходится постоянно создавать законченные фрагменты кода, непосредственного отношения к стратегии торговли не имеющих. В статье рассмотрен способ проектирования советников с использованием ранее спроектированных отдельных блоков - тралов, фильтров, расписаний и т.п. Разобрана полезная особенность такого рода проектирования.
Начнем с того, что попытаемся понять, как может выглядеть такой советник, спроектированный "на коленке" и из каких частей / компонентов / модулей он может состоять. Откуда вообще такие компоненты могут появиться? Ответ прост и понятен — в процессе постоянной разработки, раз за разом, разработчик вынужден проектировать отдельные компоненты со сходным, а то и одинаковым функционалом.
Довольно быстро становится очевидным, что каждый раз изготавливать, например, трал — пустая трата времени. В общем случае, у трала для любого советника будут одинаковые задачи и примерно одинаковые входные параметры. Поэтому разработчик проектирует трал один раз и вставляет его во все советники, где имеется в этом необходимость, с минимальными усилиями. То же самое можно сказать и о множестве других компонентов — об уже упомянутом нами компоненте расписания, различных новостных фильтрах и модулях, объединяющих торговые функции и прочее.
В результате советник получается довольно хаотично изготовленным из своего рода конструктора, из отдельных программных модулей / блоков. Модули обмениваются информацией друг с другом и с "центральной частью" советника — "стратегией", принимающей решения. Отобразим возможный вариант взаимоотношений отдельных модулей:
Автор: Andrei Novichkov