Семафор при OrderSelect. Является ли эта ф-ция торговой операцией?

 
Я зачем это спрашиваю.
1) Если в цикле ф-ции селект нет торговых операций: сенд, клоуз или модифи, т.е. она используется как анализатор уже выставленных ордеров например для определения количиства ордеров каждого типа, нахождения общего кол-ва лотов итд итп., то само обращение ф-ции к ордерам
OrderSelect (i, SELECT_BY_POS, MODE_TRADES)
является ли ТОРГОВОЙ ОПЕРАЦИЕЙ?

2) вытекает из 1) если да, то с семафором понятно, а если нет, то может НЕ ИСпользовать семафор с начала ф-ции start, а лишь непосредственно ПЕРЕД торговыми ф-циями или где идет анализ котировок.
А то как получается, эксперт включает семафор (все остальные курят), допустим по условиям он тоже должен бы покурить, но т.к. семафор у нас при старте, то он не дает другим экспертам работать, которым по условиям работать нужно, и получается битва за торговый поток, который (поток) нужен в данный момент времени чаще всего не всем экспертам, поэтому целесообразно было бы освобождать путь при первой же возможности, чем пытаться удержать его до финиша. Вот собственно и суть.
 
OrderSelect не считается торговой операцией и семафор ему не нужен
 
OrderSelect не считается торговой операцией и семафор ему не нужен

спасибо,
тогда вопрос туда же, если в оператор возврата return вставить обнуление глобальной переменной (семафора) вроде return(GlobalVariableSet(name,0.0)); это не будет считаться оператором присваивания, или так делать нельзя?
 
так делать можно
Причина обращения: