It looks like you are using a stop loss of 25 pips when the spread can vary from 5 to 50, this will cause your trades to close quickly and reopen as the crossover is still happening.
The periods you are using for your moving averages are very small and they can cross many times and get repainted later to show they did not cross, these are the default cTrader indicators and it is how they calculate on historical data.
A classic example is shown below where a sell position opened, you can see the drop in price as the candles went low, but the two MA lines do not show a cross, what happened, in reality, is that they did cross.
I would use a higher stop loss for this type of symbol and a greater period value, having small values will cause a lot of noise with crosses.
One of the best methods to test this system is to backtest, but this is not possible with Renk charts.
This is using a 100,000 pip stop loss but it closed on the crossover.
If you use higher periods, and a higher-stop loss you will see it works correctly and no trades reopen when one closes before the next crossover.