Просьба к разработчикам TSLab выложить код блоков "Открытие позиции по рынку/если больше/если меньше" или научить, как писать кастомные блоки открытия / закрытия позиции.

Цель - написать блок, который бы мог увеличивать позицию на параметризуемое количество, пока имеется тренд. Для закрытия такой позиции нужен будет соответствующий кастомный блок - можно сделать, если найти все позиции по заданному SignalName, и потом их все закрыть.

Загвоздка в том, что нигде не нашел в примерах, как получить на вход i (номер бара) из основного цикла, в рамках которого вызывается код, который генерят блоки на вход/выход
for (int i = context.TradeFromBar; (i < barsCount); i++)

И также непонятно, какие интерфейсы у блока надо указать, чтобы дать знать движку, что данный блок должен запускаться внутри основного цикла торговли.

Для блока подходит следующая сигнатура

IList<double> Execute(ISecurity source, int barNum);
Возвращает размер общей позиции
Как параметры хендлера сделать SignalName и Quantity.

Разработчики TSLab, подскажите, пожалуйста, как это реализовать.