You sold your losing EUR/USD position to harvest a $5,000 tax loss. Sixty days later, the IRS disallows it. Your capital gains tax jumps from 28% to 37%. That $5,000 loss you harvested just cost you an extra $4,500.
This is the wash sale trap. It hits 9 out of 10 DIY traders who try to manage their own tax losses.
What Is a Wash Sale?
The IRS wash-sale rule (Section 1091) says: if you sell a security at a loss and buy a substantially identical one within 30 days before or after the sale, you lose the loss deduction. Your loss doesn't disappear—it gets added to the cost basis of the new position. You pay tax on gains you never realized.
Here's the thing: 'substantially identical' means the same asset or a near-clone. If you sold EUR/USD at a loss and bought EURUSD CFDs, GBP/USD, or a Euro ETF within 30 days, you triggered a wash sale. The IRS doesn't care that one is forex and one is stocks. They care that you're betting on the same direction.
Why Most Traders Get Caught
DIY traders make the same three mistakes.
- They forget the lookback window. The wash-sale window isn't 30 days after the sale—it's 30 days before plus 30 days after. That's 61 days where the rule applies. Most traders close a position and re-enter on day 31, thinking they're safe. They're not.
- They don't track their positions. You sold AUD/USD on January 15. On March 10, you didn't remember. You sold a small AUD position again, and now you've triggered wash sales on both. Manual tracking spreadsheets fail because they live in your head, not in front of you.
- They assume different instruments are different sales. You exited EUR/USD short and immediately went long EUR/GBP to stay in the Euro play. To you, those are different bets. To the IRS, that's a wash sale on one position.
The Real Tax Impact
Let's do the math.
You lost $20,000 trading this year. You harvested $15,000 in realized losses to offset capital gains. Your long-term capital gains tax would have been $2,100 (14% federal + state, simplified). Without the loss, you owe $4,200. You saved $2,100 so far.
But 30 days after closing, you re-entered the same position. The IRS disallows all $15,000 in losses. Now your capital gains tax is $4,200, not $2,100. You owe an extra $2,100 in federal tax. Add state tax (5-13%), penalties for filing incorrectly (20%), and interest (8%), and that $2,100 bill becomes $3,850.
You thought you were saving money. You spent an extra $3,850 instead. That's not a tax strategy—that's an expensive mistake.
Where DIY Systems Fail
Manual position tracking works until it doesn't. A trader with 50 positions, 100+ historical trades, and multiple currency pairs can't reliably remember which ones were closed at losses in the last 90 days.
Spreadsheets are no better. They don't flag when you're about to re-enter a closed position. They don't count backward (including the pre-sale window). They don't sync across your trading platforms.
Your broker won't help either. They report your trades to the IRS, but they don't calculate wash sales for you. That's your job. If the IRS finds a wash sale during an audit, it's your liability and your bill.
Automated Tax Compliance Works
This is exactly where automation wins. A tax-aware trading system does three things manually can't.
- It tracks every closed position and its close date. If you sell at a loss on March 15, the system flags the window: February 13 to April 14. Any purchase during that window, across any asset, gets flagged instantly.
- It alerts you before you trade. You're about to enter EUR/USD. The system says: 'Wait—you closed this 12 days ago at a loss. Entering now triggers a wash sale.' You either wait 19 more days or pick a different trade.
- It calculates your actual tax impact. It shows you: 'This wash sale costs you $2,400 in extra tax.' That number forces the decision. Is the trade worth $2,400 in taxes?
Custom trading dashboards and MT5 systems can be built to track wash sales automatically. Instead of hoping you'll remember, automation enforces the rule before you break it. We've built these for traders managing equity index positions, forex accounts, and crypto portfolios—the logic is the same. Flag the violation before it happens.
Key Takeaways
- The wash-sale window is 61 days (30 before + sale date + 30 after), not 30 days after
- 'Substantially identical' includes similar assets and multiple platforms—one position re-entered is one wash sale
- A $15,000 harvested loss can cost $3,850+ in extra taxes if a wash sale is triggered
- Manual tracking fails at scale; spreadsheets don't flag violations in real time
- Automated systems prevent wash sales by alerting before you trade and calculating the exact tax impact