疫情期间闷在家里折腾策略。请教下各位大咖以下问题

5票策略中想用排名轮动来择股,即买入排名前5的票,但$rank-$beginRank>=2时卖出。但这个公式实现起来有个问题,排名第一的股票排名落到第三后即卖出,但第二天策略会因为该股票的排名比较靠前(第3),再次将它买入。达不到排名轮动的效果。直接用距离上次卖出的时间比较粗暴,容易错失暴跌股。有何办法可以避免?是否可以在待选池的股票里加上上次卖出时排名?