Проблемы в следующем:
1. Ни один из этих примеров не будет работать в лаборатории, протестировать можно будет только в реальных торгах.
2. Работа со стаканом очень скользкая тема. Почему-то все считают, что если заявка выставлена, то она уж точно исполнится. Ну не бывает такого счастья. Поэтому любой такой алгоритм должен предусматривать "аварийную" работу, если что-то происходит не так, как задумывалось. Иначе он никому не нужен.
Текущая реализация торговой системы TSLab именно на этом и построена, что программа старается обыграть все ситуации, встречающеюся при тренд следящей торговле. А именно: нехватка ликвидности, нерегулярный запуск программы или потеря связи. Для этого в программе предусмотрена не мало настроек, позволяющих корректировать работу в реальных торгах.
Поэтому прежде, чем делать какой-либо пример со стаканом, нужно решить эти проблемы для этого конкретного примера.
На мой взгляд самый простой пример, как можно использовать ISecurity.GetSellQueue и ISecurity.GetBuyQueue - это анализ текущий ликвидности. Т.е. можно написать индикатор, который будет анализировать строчки в стакане на предмет наличия нужного объема при проскальзывании не превышающим какой-то предел.