Работа с историей, хелп ми плиз

 
Сделал эксперта который совершает определенные действия если в истории существует ордер с тикетом например Х , допустим совершается действие Х1 после чего у нас появляются ордера с тикетом Y Z при их закрытии их тикет остается в истории и как они там появляются то совершаются действия Y1 Z1. А проблема в том что история то у нас остается и никуда не девается и как я только начинаю выбирать ордера из истории и смотрю их тикеты то мне вновь попадается тикет X который был открыт снача, хотя он мне уже не нужен теперь у меня уже другой тикет Х. Прогон по истории например только трех последних закрытых позиций не подходит. Т.к. позиций у меня может быть от 3 до 30 (т.е. от 3 до 30 разных тикетов). Какое Вы видите решение данной проблемы.?
 
Проводите проверку не только по номеру тикета, но и, например, по OrderOpenTime(). Хотя пост не вполне проясняет суть проблемы. Если существует "уже другой тикет Х", то по нему и проводите проверку, зачем искать " тикет X который был открыт снача". Опишите проблему точнее, лучше на примере.
 
если в выборке имеем уже закрытый ордер с номером тикета Х1 и Х1 в истории но нужно чтобы ордер рассматривался только последний
 
Если у тебя не предвидится обработка сразу двух ордеров, то можно попробовать так:
datetime lastorderclose;
int start(){
datetime closetimeorder;
...
for(int cnt=HistoryTotal()-1;cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
closetimeorder=OrderCloseTime();
if(closetimeorder>lastorderclose)
{
closetimeorder=lastorderclose;
//дальше твои действия
}
}
...
}