It depends upon the criteria you wish to use to initiate the movement of the stop and the partial TP. I write my own EAs, which only suit my trading style, for that reason. eg I now move stops or close the position if I get the predefined PA at a pre-identified horizontlal KSR line at a pre-defined zone in time.
Here is a link to a free 'lite commercial' version (both MT4 and MT5) http://www.mql5.com/en/market/product/2015#full_description
There is also a paid version available. I have not tested either, although find the vendors products solid, as well as interesting in that the features sometimes provide ideas that I use in the tools I develop for personal use.
There are also lots of free non commercial Trade Management EAs (incl source code) available, via a search to find what best suits yours requirements, on http://codebase.mql4.com/experts.
- Instead of opening your entire order at once, break it up into two or more positions within MT4/5. (So if you want 1 full lot total, execute 2 orders at 0.5 lots each.)
- Then set the TP on the first order to your desired "partial close" level, and the TP on the second to your desired final target. Adjust the size weightings of each order for your strategy accordingly.
Stop to BE:
No easy work around for this unless you have a VPS and check up on your trade often enough. If you do have a VPS, you can always set a trailing stop at the amount of 'points'/pipettes in profit that you want your stop to move to BE.
The only downside is, should that be tight, then the 'trailing' side of the action might trail too aggressively and stop you out before you get a chance to log in to the VPS and check your positions. So this works best when you want BE to happen at +50 pips and beyond, but not at +3 pips.
And I say VPS because trailing is done by the client, not server, so the client has to be running all the time for it to trigger.