thanks for your answer.
if I understand well, transaction fees are decided by miners and there is a market place of transaction fee with competition between miners which own blocks.
if a miner decide to set the fee too high, he will not receive transactions in his blocks and will be obliged to lower his fee to get transaction in his block.
So the more transaction there will be, the more competitions there will be between miners and the lower the transaction fee will be. is this right?
It is reasonable to say that the more BTC gets high compare to fiat currencies, the more transaction in BTC there will be.
this is unless miners agree together to set high transaction fee. Is this likely?
You got it a bit backwards. When number of transactions exceeds network capacity, then you have something called "fee market" (don't be confused with 'free market'). In such scenario it's the users (not miners) who compete for their transactions to be processed, miners would just pick txs with highest fees.
That's the general, simplified picture.