Обсуждение статьи "Модульная архитектура индикаторов в MQL5 (Часть 1): Хватит копировать и вставлять — начните писать масштабируемый, переиспользуемый код."

 

Опубликована статья Модульная архитектура индикаторов в MQL5 (Часть 1): Хватит копировать и вставлять — начните писать масштабируемый, переиспользуемый код.:

В статье разработан объектно-ориентированный каркас для индикаторов MQL5 путем преобразования примитивного примера в пригодные для постоянного использования модули. В ней формализуется частичный пересчет буфера в OnCalculate, логика переносится в классы, вынесенные в заголовочные файлы (CAppliedPrice, CSma), а также вводятся CSubIndiBase, CIndicatorBase и реестр для централизации требований. В результате получаются переносимые компоненты, изолированные входные параметры и аккуратно организованные буферы при минимуме шаблонного кода, что ускоряет сборку новых индикаторов и упрощает их обслуживание.

Некоторое время назад я решил написать статью о разработке собственного индикатора. Тогда я понял, что использование моего каркаса без предварительного представления вводило бы в заблуждение. Именно поэтому вы читаете эту вводную статью. Материал оказался обширным, поэтому он будет разделен на две части.

В этой первой статье мы разработаем каркас для переносимых, пригодных для повторного использования и удобных в сопровождении индикаторов. Я мог бы представить окончательное решение и лишь после этого объяснить его, но это не дало бы полного понимания механики процесса. Вместо этого начнем с примитивной реализации очень простого индикатора и постепенно будем выполнять его рефакторинг, шаг за шагом развивая кодовую базу в полнофункциональный шаблон. Выстраивая его с самых основ, вы увидите, какие именно проблемы мы решаем на каждом этапе и почему необходима именно такая архитектура.


Автор: Vladislav Boyko

 

Привет, Владислав! Твоя работа абсолютно четкая с концептуальной точки зрения — настоящий шедевр программной инженерии.

У меня к тебе вопрос: сможешь ли ты расширить этот проект, добавив поддержку MTF и многосимвольного режима?

С уважением, Сабино

 
Sabino Martiradonna проект, добавив поддержку MTF и многосимвольного режима?

С уважением, Сабино

Привет, Сабино, спасибо за отзыв! Давным-давно я пытался разработать индикаторы с поддержкой нескольких таймфреймов, но у меня возникли сложности с подготовкой синхронизированных массивов временных рядов для всех необходимых графиков. Я не захотел продолжать и отложил работу над поддержкой нескольких таймфреймов на потом. До сих пор к этому не вернулся.

В архитектуре, описанной в этой статье, я не учитывал использование нескольких графиков. Но я думаю, что её можно расширить для поддержки нескольких графиков, если удастся подготовить синхронизированные массивы временных рядов.