I just added new mode in Trailing stop (each trade), MQL4 only, web version. I marked it as experimental because I'm not sure about it. You can test it and then tell me if it's ok and what should be different.

How it works... you write levels like this:

20/5, 30/10, 45/15

.. which means that when the profit reaches 20 pips, SL will be set to 5 pips (from the Open Price, not from the current price!), at 30 pips of profit SL will be set to 10 and so on...

It's also important to write groups in order starting from the minimum value. 20 first, then 30, then 40... But not 20, 40, 30. This is because MQL4 is very unfriendly when arrays are used and I don't want to add more calculations for sorting.

"Step" is still working. By default it is 1, so we actually have 21/5, 31/10, 46/15. I can exclude it from this mode and set it to always be 0, but... I don't know, people always want more options.

What I don't like in this way is that all numeric values are written in a single string, which means that it will be very ugly if someone wants to use some variable instead. That's why I marked it as experimental.

Otherwise similar functionality can be made using multiple pink blocks. Something like:
For each trade -> pips away from open price -> once per trade/order -> modify stops
but not only this, there must be multiple "pips away from open price" blocks and they must be ordered starting from the biggest profit. Yes, this is also ugly.