I understand exactly what you are talking about, your approach to the filtering is about half-right or you might say half-wrong more or less, you are about half-close in what you are doing, that is why you are having trouble, half of your ideas are right or very very close the other half is off track.
There is absolutely nothing wrong with the filters other than random itself, which is neither right nor wrong, your approach to filtering is about half-right more or less, you almost have it, but not quite yet, early on I had the same and or similar ideas to automatic filtering, but I learned better later as I learned how to use filters.
First of all, you don't test all of the filters against all of the draws for performance, different filters are to be tested against a different number of past draws.
Second you just don't test a filter against a number of past draws just like that, The very last past draw is the Master draw, as they move down or are older they are less and less important more or less, the last 2 to 10 past draws are the most important ones perhaps filter-wise, a good general number of past draws for observation can be between 10 and 60, you are not just testing the filters against past draws in a generic or general way, you are looking for and testing against particular "Past draws' patterns "Traits"".
This is an elimination process that require you or the program to find certain patterns' corelations between results (winning numbers) and particular past draws.
It is maybe not possible to explain it in enough detail to make it understood without giving away the process itself. Si it sounds like nonsense and giberish.
You are treating maybe all the draws as if they were the same, there are some perhaps ilogical patterns relations between some past draws that can be at a certain particular distance(s) from the last draw and the next winning number that are fairly constant across a range of draws, but that could change thru time slowly as the draws come out and so such relations must be re-evaluated every so often, some of this relations between particular (A given distance from the last draw) past draws patterns and the winning numbers are more regular and or permanent than others, but might or will have on and off cycles, I use only those whose on or working cylces are on more often than not.
One more time, there are relations between a particular pattern(s) of certain past draws that are at a given particular distance from the last draw and the next winning number, this relations is what the program should be looking for during the scans of the past draws, the program should be preprogrammed to look for them.
I won't give any more details here.
The answer is in a very few of my filters posts, on time of that there is also the changing of patterns from one pattern to another of the same kind or filter and its evaluation against the next winning draw, this is done with a few of the past draws, that stuff is also in maybe 2 or 3 not too old filters posts, maybe on the Tao of filters, as to the above stuff or main technique that is in several posts, maybe the best example is on the Crunch 2 filter patterns profile that I posted (2 of them) for boxed filtering the basic profile and the more advanced one, those were just 2 good old examples, but I did develop also straight filtering profiles for use with the Crunch 2 and or other filters programs. besides I have many other newer ways.
All based basically more or less on what I say above, but that I really don't explain in detail. Not enough to really make the stuff understood.