From my little experience, I have found out that simple algorithms work great with as a good example: 

https://www.quantconnect.com/forum/discussion/1013/moving-average-cross-in-python/p1

Inspired by the algorithm mentioned above, I am now trying to figure out a good way to mitigate the risk of holding onto assets that are correlated with each other. I would like to select assets based on their -lack of- correlation with the assets already present in my portfolio. This leads to a theoretical problem since the algorithm is buying a positive trend EMA15 > EMA30. Assets that move in the same direction are correlated... 

What are the good practices? 

And as a result of having a portfolio with possible multiple assets. How do you optimize equity employed?