After the contribution of all,
the rule to use in the F2LB group is to use a queue, first in first served,
you can sign on it here in the forum.
Then, based on ADA quantity → Q you delegate (minimum 500 ADA):
you have to keep delegating Q ADA to the first pool in the list for E epochs,
and redelegating to the next pool when the first pool reach the threshold and it is pushed out from the queue.
Based on Q you get higher threshold to remain first in the queue and get more chances to get blocks and less epochs E to keep delegating/redelegating your ada to the first pool.
The thresholds are:
Q >= 500 ADA keep delegated for E=30 epoch , get: minimun 1 block
Q >= 1000 ADA keep delegated for E=25 epoch , get: minimum 1 block
Q >= 2000 ADA keep delegated for E=24 epoch , get: minimum 1 block
Q >= 5000 ADA keep delegated for E=23 epoch , get: min 1 block and min 2 epoch as first
Q >= 10000 ADA keep delegated for E=22 epoch , get: min 2 block and min 2 epoch as first
Q >= 20000 ADA keep delegated for E=21 epoch , get: min 2 block and min 3 epoch as first
Q >= 30000 ADA keep delegated for E=20 epoch , get: min 2 block and min 4 epoch as first
Q >= 40000 ADA keep delegated for E=19 epoch , get: min 2 block and min 5 epoch as first
Q >= 50000 ADA keep delegated for E=18 epoch , get: min 3 block and min 5 epoch as first
Q >=100000 ADA keep delegated for E=17 epoch, get: min 3 block and min 6 epoch as first
so if a pool has granted 2 block and 2 epoch as first,
until both conditions are verified the pool stay first with all delegation on it.
To define let say, a time limit rule:
if after 7 epoch a pool is first with all delegation and the pool got at list 1 block
then the queue will pass to the next pool even if the thresholds are not reached.