При чем тут брокет брокера исполняют лимитки и все.
А вот логика программы может позволить исполнять не одну лимитку поскольку очень высока (особенно в последнее время робототорговли) вероятность ее не исполнения и несколько лемиток в диапазоне +-.
Условная не годится потому что у нее другая логика - ожидание - и только когда разворачивается цена она условная начинает закрываться.
Лемитка - закрыть немедля по подходящей цене - даже если рост продолжится, просто спасти то что уже есть, но одна лимитка не выполняется их надо пачками слать чтоб закрыть.
В вашей программе вообще странно сделано если лимитка не может закрыться то закрывается на следующем баре по рынку!? Где логика? Тогда по такой логике вообще лимитка не нудна проще сразу по рынку но на первом баре а не на следующем.
Говорю это потому что протестил поведение на сотнях сделках по закрытию на высоких скоростях ваша программа лимитки закрывает 1 из 10.