How to get realised profit

I need the negative realised profit when my stop market order has been triggered.
Unfortuantely in the order update response the realised profit is 0. How can I retrieve it ?
Also, why is a stop market order always expired when triggered?

'e': 'ORDER_TRADE_UPDATE',
 'o': {'L': '0',
       'R': True,
       'S': 'SELL',
       'T': 1626015119419,
       'X': 'EXPIRED',
       'a': '21.49500',
       'ap': '0',
       'b': '0',
       'c': 'gLmERIDu6F0uQsVdC4CJRn',
       'cp': True,
       'f': 'GTC',
       'i': 8389765502034101488,
       'l': '0',
       'm': False,
       'o': 'STOP_MARKET',
       'ot': 'STOP_MARKET',
       'p': '0',
       'pP': False,
       'ps': 'BOTH',
       'q': '0',
       'rp': '0',
       's': 'ETHUSDT',
       'si': 0,
       'sp': '2137',
       'ss': 0,
       't': 0,
       'wt': 'CONTRACT_PRICE',
       'x': 'EXPIRED',
       'z': '0'}}

stop_market order is expired and a market is placed.

Is there another way than going via trade list to retrieve the market order response, after triggering the stop market order?

it’s suggest to listen to user data stream, you will get all orders as soon as it’s available.