весь алгоритм на C# писать?
Доливка - это еще один блок входа(К примеру: Один блок входа - 10 лотов, второй - 20 и т.д.), в логический сигнал которого можно подать запрет на совершение сделки, если предыдущий вход был в минус, либо разрешить, если предыдущий вход был в плюс, ну либо можно подсчитать плюс и минус в конкретных цифрах вышеназванными блоками хоть уже закрытой позы, либо еще открытой. Либо произвести расчеты от уровня входа, стопа, профита и оперировать этими цифрами для разрешения второму блоку брать дополнительную позу.
При запуске скрипта Вам известно начальное состояние депозита. Каждая закрытая поза и есть состояние депозита на данный момент. Как видите, единственное лишнее звено в Ваших формулах - это Депозит. Совет - уберите Депозит из расчетов и пересмотрите формулы в сторону логики, картина станет яснее и c# не понадобиться.