I stretch my budget a bit and I choose RX 470 4GB instead of GTX 1050 Ti and GTX 1060 3GB. Is it good choice and why? If I choose Sapphire Radeon RX 470 4GB NITRO+, is it quiet when idle, ultra settings when gaming with my current spec?
CPU: i5-3470
Mobo: GA-H77M-D3H
RAM: 2x Kingston 4GB DDR3
PSU: S12II-620W
Case: CM K280
Fan: 1 rear fan
Monitor: S22B350
It's your best choice. The 1050ti is just bad performance for the price. It's more for people who are power constrained. The 1060 3gb again this recommendation is more due to the companies we are talking about. Nvidia prices well to ensure you can't screw them over. Amd has a marketing side that fights with the engineering side. As a result the 470 is just mispriced.
As for many of the suggestions on this thread regarding longevity.
No offense to you, you're using a 720p monitor. Your gaming standards are 1/4 of ours on this forum and that's being generous. That's good for you since you don't need to spend much to enjoy games. So the recommendations for high vram cards (1060 6gb and 480 8gb). Aren't worth it for you. Not only will you not game at such settings, the improvement won't be worth the cost to you.
Again though, the difference between 2 gpus in the same bracket (470 and would be similar bracket to the 1060 3gb) get the cheaper gpu and ASAP and just enjoy. The days you waste waiting and debating you could enjoy the gpu. So don't wait too long.
Also, all ultra settings gaming is highly overrated. Take it from someone who has $1400+ set aside for new gpus in 2017 or for anyone who has truly experimented with gaming settings. Turning down a lighting /shadows effect that kills your fps is far better than spending more on a gpu to enable effects you don't notice.
I recently turned overwatch to the low preset and found the game looks amazing. Originally I was going to just buy a new 600+ gpu when available to game, but it turns out the low preset looks and plays great on my PC and I didn't have to wait
So experiment with settings a bit, but for your use case I can't recommend something than a 470. If you had a larger budget, I'd recommend a gtx 1070 though.