Another thing you can try that may make things a bit easier.
Define different doubles for your Stop/Profit/BreakevenTarget as soon as you enter a trade.
Add "&& (Position.MarketPosition == MarketPosition.Flat)" to your conditions so these numbers don't change once you're already in the trade.
I modified your code a bit to show what I mean. You might have to mess around with it a bit but should hopefully lead you in the right direction.
I also added some prints you can reference on your NinjaScript Output so you can make sure you have the correct numbers.
Hope it helps!

Comment