The single best way to not get a virus/spyware/adware: Linux (I understand many programs don't natively run on Linux *)
But I also run XP machines, I've never had a virus and run no real time protection (oh no!). Here's how:
1. FIREFOX, FIREFOX, FIREFOX! + Adblock Plus... + NoScript if you visit a lot of crazy sites / don't know what you're doing
2. Keep your PC clean damnit:
--A. don't install a bunch of BS software, USE OPEN SOURCE whenever possible
--B. if you want to test something out, run a virus scan (especially if it's from file sharing or other less scrupulous source):
----1.
http://www.virustotal.com/ or
http://virusscan.jotti.org/ upload your file and it will run 30+ of the best virus databases on the executable
----2. Sandbox your installs. See what they do and if they are worth it before you touch your registry. Sandboxie and Altiris SVS (my fav), both free, both great.
----3. Fixed hundreds of PCs, #1 problem: indiscriminate installation of software. Before you know it your OS is eating up a GB of RAM, 65 processes at startup, multiple spyware and adware broadcasting who knows what to who knows where.
3. If you just feel better running anti-virus protection I recommend Avast over AVG. Smaller resource footprint, more accurate scans IMHO.
*With virtualization (VMware, Qemu) you can run a virtual windows trading PC inside Linux.
There's also Wine for Linux. With a little work, I've been able to get metastock, amibroker running on Linux with Wine.
About Wine:
Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.