HUGE UPDATE!
The bad
I have removed the Trend Filter, I found it to be inconsistent and unreliable for filtering bad trades.
The good
I have coded a Trailing Stop. The script will now exit based on a trailing stop with a minimum take profit target as a floor. Trailing stop will not initialize until after the minimum profit floor has been breached.
This will prevent it from selling a winning position too early. This is not your ordinary trailing stop loss. It calculates in real-time a new trailing stop based on your max gain.