Opening and closing of positions on Bybit rely on the Last Traded Price (LTP), while the unrealized PNL% shown on your Positions tab is calculated based on Mark Price. The image below shows how both prices are illustrated inside the order book.
So, therefore, the key reasons are as follows:
1) The opening and closing of your positions are based on LTP and not Mark Price.
It is entirely possible for Mark Price to differ from the platform's LTP, especially during volatile market movements. The difference is also evidently shown in the image above. For more details, please click HERE
2) Trading fees and funding fees are not included inside the unrealised pnl%.
For more information about the fees involved while trading on Bybit, please kindly click HERE
In summary, as a general guide, please use this unrealized pnl% shown inside your Positions tab as a quick reference instead of regarding it as the absolute actual pnl% when you intend to close your position.