Долгое время меня не было на форуме=). Что-ж, отпишу логику построения на всякий случай.
Итак, первым необходимую информацию берет блок "ПрофитЛонг", соединенный с источником. Он получает данные о финансовом результате закрытой длинной позиции. Далее эта информация анализируется двумя блоками - "Лонгминус" и "Шортминус"(соединен с аналогичным "ПрофитШорт") Как можно видеть, в них прописаны условия формата "Лонг/Шортминус<0. Далее информация передается в блок "ДанныеДляОЗ". Формула "Шортминус?1: Лонгминус?-1:0" означают следующее: Если выполняется условие, описанное в блоке Шортминус(ПрофитШорт<0), или иными словами, если срабатывает блок Шортминус, то задать блоку ОЗ(с ним как раз и соединен блок "УсловиеДляОЗ") значиние "1"; если же срабатывает блок "Лонгминус", то "-1". в противном случае поставить "0". К примеру, если наш робот закроет длинную либо короткую сделку и получит 100 рублей прибыли, то не сработет ни ЛонгМинус ни Шортминус, так как не выполнятся описанные в них условия и ОЗ получит значение "0". Если же робот, например, закроет длинную сделку, и напротив, получит 100 рублей убытка, то сработает блок ЛонгМинус(так как ПрофитЛонг будет равен -100, т.е. ПрофитЛонг<0) и блок ОЗ(обновляемое значение) получит значение "-1".
Итак, после того, как блок ОЗ получил свое значение от блока "УсловиеДля ОЗ", происходит анализ этого самого значения следующим блоком "УсловиеДляЛОНГ". Логика описанного в нем условия "ОЗ>=0" следующая: Так как по условию задачи нам нужно организовать запрет длинной сделки при первом полученном убытке, то к блоку открытия длинных сделок подается условие "Обновляемое значение должно быть больше либо равно 0" - "0" у нас это отсутствие убытка вообще, т.е. сделки будут разрешены, поэтому и начальное значение ОЗ равно 0, когда результатов сделок нет как таковых(это необходимо для того, чтобы робот смот открыть первую сдедку); "1" у нас означает срабатывание условия ШортМинус, т.е. при получении убытка от короткой позиции также будут разрешены длинные сделки, а вот "-1" означает срабатывание блока "ЛонгМинус", т.е. получение убытка от длинной позиции. И вот тут, исходя из условия "ОЗ>=0", следующая длинная сделка будет запрещена, зато разрешена короткая, по условию для ОЗ2 в аналогичной ветке блоков для коротких сделок. Так и происходит в данном примере попеременный "переворот" сделок.