the main issue is the addition of take profit and stop loss together with trailing (thanks to Yatrader to his code)
set the zigzag% according to best fit of your graph for best results
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.