Чтобы сослаться в формуле на свое значение можно воспользоваться зарезервированным именем list.
Например:
"list[i-1] + 1"
Nektodron, я правильно понимаю, что это ссылка в выражении в визуальном редакторе в блоке формула на своё собственное значение 1 бар назад "list[i-1]"? И в какой сборке? Пишет ошибку error CS0103: Имя 'list' отсутствует в текущем контексте. Или это относится к API?
ЗЫ. Нужно ссылаться на предыдущее значение формулы и прибавлять к нему текущее, и т.д.
Это работает уже давно, можно использовать в формулах, но не во всех, а только в тех, которые от списков считаются.
Т.е. если в формулу идет обновляемое значение или чтото из позиции, то работать не будет.
Nektodron, в том то и вопрос, что нужно работать с позицией: обращаться к балансу активной позиции на i-той свече, и проводить с ней расчёты, возможно ли в принципе сделать такой блок для визуала индикатора на API и какие использовать интерфейсы:
1. в IPosition2Double - который цепляется к блоку входа, я так понимаю что нельзя например обращаться к i-му значению pos.OpenProfit, или можно через BarNum, но как запоминать i-тое значение переменной, т.е. нужно pos.OpenProfit[i]=pos.OpenProfit[i-1]+pos.OpenProfit[i] и т.д. пока активна позиция?
2.Для расчёта такого выражения с помощью IBar2DoubleHandler можно создать список из источника, но как проверить наличие активной позиции, через source.Positions.GetLastActiveForSignal? а как обратиться к балансу позиции, в source.Positions не нашёл значения баланса или перехода не к IPositionList, а к IPosition, откуда можно взять и IsActive и OpenProfit?
Или можно какие то другие использовать интерфейсы? Или такое можно сделать только во внешнем скрипте с помощью IExternalScript? Подскажите пож. чтобы зря время не терять с индикатором
-----------------
P.S. Почему то тема топика меняется - писал в топик "Создание индикаторов на API", а высвечивается "И опять ошибка CS0103"