Как функционирует механизм фильтров в классе CExpertSignal стандартной библиотеки ?

 

Всех приветствую.

Разбираюсь с классами Стандартной Библиотеки.

В классе CExpertSignal есть функция AddFilter(), которая может добавить внутрь текущего объекта список фильтров - также наследников от класса  CExpertSignal.

Где можно почитать про этот механизм ?

Насколько я разобрался в коде - данные фильтры используются в функции Direction, где могут вернуть EMPTY_VALUE, и если хотя бы один из фильтров вернет такое значение - функция также его возвращает. И, как я понимаю, это - запрещает выдачу сигналов основного объекта класса CExpertSignal. Здесь - мы имеем нормальную работу дополнительных фильтров.

Но при этом фильтр еще задействован и в функции типа OpenLongParams(),  где используется фильтр с индексом  m_general, и параметры берутся именно из него.

Что означает этот самый m_general ? Почему, если есть фильтры, то параметры берутся не из основного Сигнала, а из его фильтра с номером m_general ?

Где почитать данные особенности применения фильтров ?  

Причина обращения: