Смотри какой алгоритм получается.
Прежде всего, тебе нужна функция, которая вычисляет, какой ордер среди открытых крайний, селловый или баевый и выдаёт тикет этого ордера.
Далее, если это, например, селловый, то перебираешь все ордера в рынке и смотришь, больше ли среди рыночных ордеров селловых, чем один ордер.
Если больше, чем один, то тебе нужен тикет ПРЕДПОСЛЕДНЕГО СЕЛЛОВОГО ордера.
Ну а дальше работаешь с ценами их открытия и объёмами.
Так проще?
Должно тебе подойти.
Нюансы сам уже добьёшь, это несложно уже будет.
Там дальше уже несложно, просто долго, ковырялисто.
ShamanHand