meaning a CFD customer always has to hit the bid or ask price (or scarifies the spread) and being last in the queue for a limit order. A real trade at the SGX exchange isn't required for a CFD order to be executed. As long as the bid-ask spread is wide enough, a low sell price and high buy price within the illiquid stock's bid-ask spread can trigger CFD buy and sell actions.
This practice is illegal, as it involves the trader effectively "self-dealing" or hitting his own orders without being seen on the exchange, but taking place on the OTC side. This lack of transparency is one reason that U.S. has banned CFDs, as brokers often end up betting against customers, similar to old time bucket shops. To prevent this, brokers like IG could simply remove illiquid stocks from their CFD offerings or set filters to ensure only small trades trigger automated orders, while manually checking or hedging out big quantity trades .
However, since the vast majority of retail CFD customers (over 95% or even more I think) lose money—and these losses typically go to the counterparty's pocket, which is IG in this case—there's little incentive for IG to hedge against these small retail customers.
whether he is a professional trader or not, it doesn't matter. an intentional, manipulative hitting-oneself trade is always breaching rules (even laws)