Помогите исправить ошибки invalid takeprofit и 4107

 
Очень нужна помощь, странная ошибка. При этом советник работает выставляет ордера но явно с ним что то не то.

extern double Lot=0.1;
extern int SL=200;

extern int TP=400;

----------------------

  int  ticket; 

  double Up=iFractals(Symbol(),0,MODE_UPPER,3);

  double Down=iFractals(Symbol(),0,MODE_LOWER,3); 

--------------------

   ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,Up,20,Up-SL*Point,Up+TP*Point,NULL,Magic,0,Green);

-------------------

 и ругается сразу как только тестер запускается буквально с первой свечки, но ордер ставит и потом опять негодует весь журнал в страданиях...
я только начинаю работать с кодом так что возможны детские ошибки и очевидные глупости так что прошу строго не судить.
За помощь буду очень благодарен.