Разные сделки одного и того же прогона советника

 
Здравствуйте. Иногда я думаю, что я поехал уже головой и в результате всё плохо, но нет. Есть 1 советник, заходит по сигналу, дальше идет по tp и sl. Дозаходит и постепенно выходит. Если я прогоняю его просто, нажимаю Отладка по историческим данным в MetaEditor, то вначале торговли получаются такие сделки

Но если я в моменте условий различных по Sl и Tp ставлю Breakpoint и через ctrl F11 прогоняю просто советник, то получаются сделки уже по условию.

Т.е. если закрытие превысило sl, то советник должен открыть противоположную сделку с 1 лотом. Что это вообще может быть?
Вот весь код действия в этом периоде
 
Почти оффтоп. В нескольких диалогах никак не мог уловить суть проблем, о которых мне говорили. Ну не понимал, о чем идет речь. В итоге оппонент записал двухминутное видео, где показал проблему и... за две минуты я понял абсолютно все, что не смог сделать в получасовом диалоге. Поэтому рекомендую записать видео с проблемой, т.к., наверное, не только я ничего не понял. Сэкономьте время всех.
 

В итоге всё решил, не заметил, что сделка была в итоге 1 и в условии я записал

           if(m_position.Volume()==1.0)
           {
            mytrade.PositionClose(SellTicket);
            Sell_opened=false;
           }

А тикет я записывал с предыдущего открытия второго на шорт, а тикет у первого открытия у меня исчез. 
В итоге нужно записывать вот так вот

if(m_position.Volume()==1.0)
           {
            mytrade.PositionClose(m_position.Ticket());
            Sell_opened=false;
           }

Это универсальный вариант

Причина обращения: