There are input and output addresses in each transaction of cryptocurrency. So everyone can trace the flow back. If someone send me some BTC or other cryptocurrency to my address, and I regenerate a new address in my wallet and send some BTC to other one with the new address. Is it possible to trace it back to the original sender?
You can't send bitcoins from a newly generated address. To send bitcoins, you use as inputs transactions that were previously sent to one of your addresses as an output. (Your client will use more than one previous transaction output if it needs to add up some transactions to reach the required amount.)
The inputs to a new transaction are directly traceable to the output from a previous transaction. You can send bitcoins to yourself, but that just adds another transaction hop in the sequence. The transaction chain can always be traced back.