WE TESTED A COMMUNITY STRATEGY · USATECHIDXUSD 15min

EMA 9/21 cross with a 60-minute SMA 20 filter

EMA 9/21 cross on 15-minute Nasdaq 100 with a finished-bar 60-minute SMA 20 filter, costs included. The filter cut losses from -42% to -16% over five years but didn't make it profitable. Tuned settings made +11% on six unseen months; adding an ADX filter looked better on past data and then went flat.

From r/algotrading. The idea, in our words: On 15-minute bars, buy when EMA 9 crosses above EMA 21 and the last finished 60-minute close is above its 20 SMA; sell is the mirror. Compared with the plain crossover.

mixed

As posted · the rules as described (see what we assumed below)

-15.6%total return
0.96profit factor
35.5%win rate
24.0%max drawdown
905trades
5.0years tested

Optimized: best settings Quant Core found · last months held back as unseen data

+158.3%total return
1.21profit factor
30.4%win rate
21.0%max drawdown
644trades
1.24profit factor on unseen months

Improved: only trade when the trend is strong (ADX above 20)

We then tried 7 changes a quant would test first (560 settings in all) and kept the best on past data only. The held-back months played no part in choosing it. It did not hold up on the unseen months.

+212.8%total return
1.32profit factor
23.3%win rate
20.5%max drawdown
497trades
1.02profit factor on unseen months

What we had to assume

  • Nasdaq 100 CFD instead of NIFTY stocks (no Indian data)
  • Cash session only, 9:45 to 15:30 New York, flat at the close
  • The post gives no stop or exit: a 1.5 ATR stop that trails 2 ATR behind the best price, which is close to riding the cross until it turns

A different reading of the rules could give a different result.

Backtested with the StratOS optimizer on historical data, with spread and costs charged, and the most recent months held back as unseen data. A backtest is not a forecast, and nothing here is investment advice.

Test your own strategy: join the beta