Difference in TP and SL in OrderSend command

Hi,

I have a problem. In my trading history or in opened trade list I see differnce in TP or in SL. I set example TP and SL = 5 pip. After opening trade the TP and SL has not the required value:
The EA open a trade usdjpy at 113.459, I see TP 113.504 and SL 113.404. But I send with the OrderSend command 5 pip difference.

last_order_ticket=OrderSend(Symbol(),OP_SELL,newlots,Bid,20,Ask+order_sl,Ask-order_tp,order_comment,magic_number,0,clrWhite);

or as long

last_order_ticket=OrderSend(szimbolum,OP_BUY,newlots,Ask,20,Bid-order_sl,Bid+order_tp,order_comment,magic_number,0,clrWhite);

Do I use the right code? In my perception after this command in long @113.459 the TP should be 113.509 instead of 113.504

Thanks for help

Your code is currently symmetrical, you would gain TP-spread or loose SL-spread. They do not include the spread.

If you change it (“113.509 instead of 113.504,”) then the gain would be TP. It includes the spread.

Thank you very much!