Помогите разобраться

 
Помогите найти ошибки.Опишу то,что я хочу сделать вкратце.Находится значение последнего фрактала fract_u. Потом по нему выставляется отложенный ордер.Причём при открытии ордера значение fract_u записывается в глобальную переменную K.При поступлении нового значения fract_u и при условии что отложенный ордер не сработал, старый ордер должен закрыться и открыться новый ордер с возвращением в К нового значения fract_u.Но почему то у меня значения к и fract_u всегда разнятся,либо ордер неправильно закрывается. При модификации или закрытии ордера постоянно выскакивает ошибка 4108 неверный номер тикета.Но вроде ж номер сохраняю во внешней переменной. За помощь заранее благодарен
 
Попробуйте OrderDelete(ticket);
 
Проблема не решилась. OrderModify всё равно выдаёт ошибку номера тикета.Выручайте. Ещё хотел спросить--правильно ли организовано переписывание переменной К,для того,чтобы ордера обновлялись по новой ситуации ситуации
 
Вы пытаетесь закрыть BuyStop по Ask, а нужно по Bid, и не закрывать, а удалять. 
 
Я заменил на удаление, но modify и удаление опять возвращает ошибку 4108.
 

Запустил вашего советника - ни каких ошибок тестер не вызвращает. Какой билд?

Гораздо быстрее искать фрактал вот так:

   while(Fractal_Up==0)
   { 
      if (iFractals(NULL,0,MODE_UPPER,i+3)>0) 
      {   
         Fractal_Up=iFractals(NULL,0,MODE_UPPER,i+3);
      }   
      i++;
   }
 
hypermood:
Я заменил на удаление, но modify и удаление опять возвращает ошибку 4108.

Также не могу повторить ошибку 4108 - советник модифицирует ордер, подтягивая стоп буквально каждый пипс. Какие условия при ошибке 4108 у вас?
 
Vita:
hypermood:
Я заменил на удаление, но modify и удаление опять возвращает ошибку 4108.

Также не могу повторить ошибку 4108 - советник модифицирует ордер, подтягивая стоп буквально каждый пипс. Какие условия при ошибке 4108 у вас?

Спасибо за внимание--разобрался,по ходу релиз метатрейдера староват был