I will call the person who shares the signal an Oracle
The first idea that comes to mind is... what if... you add a third parameter, that measured the rate on which an Oracle receives ratings, that is basically hidden. We decrease the scale of the original example. This would work something like this:
The platform has 100 users when the Oracle joins. And after the first signal is provided by the Oracle, if 10 more people join the network, and those 10 new people give the Oracle, a 5 star rating on it's first signal, the system keep that Oracle in a database dedicated for red-flagged Oracles.
Obviously, this can't be implemented when the platform has only 20-30 users for obvious reasons.
The database keeps in store a total of, lets say, 3 red-flags. After the 3rd red flag, it's obviously an issue. This way, even if it's a pure coincidence that the first 5 people who joined immediately after the Oracle, this can't happened 3 times in a row.
Obviously, this implies a very strict emphasis on statistics, so the system doesn't automatically activate at any scale (especially in the beginning).
Again, the red flag database should be hidden, because the scammer should not know he is being watched... that would make him bail before he faces the consequences.