Trading Idea #019 – 10-100 Crossover 1

New week, new CPU, new possibilities.  This idea is one I heard on episode 20 of the Top Traders Unplugged podcast, which featured Roman Lutz of Future Value Capital.  The premise is the easiest idea I have tried yet: a simple 10-period/100-period moving average crossover system.  This is very similar to our first system, the Golden Cross, which was a failure.  The difference is that both moving averages are a lot faster than a Golden Cross. 

I came across the 10-period moving average crossover idea earlier this year, but I could not find a source or more precise rules, so I set it aside.  Now that I have the rules, I can give it a try.

The thinking behind this idea is to use it across four sectors, i.e., a portfolio.  I will test these individually, but also in a portfolio.  I am not a fan of pure moving average crossover systems, but I am curious to see how this will perform, especially since the podcast episode was recorded about 7 years ago.  Let’s go!

Phase 1: Plan & Design

1. Trading Idea

This is an ‘always in’ system.  When the 10-period simple moving average (SMA) crosses over the 100-period simple moving average crossover, go long.  When the 10 crosses under the 100, go short.

I will not use stops, due to the speed of the 10-period SMA.  This might be a mistake, but I will see when I get to testing.

One problem I experienced with the Golden Cross was that it would get stuck on the wrong side, so I had to add code to get out.  With faster moving average crossover in this system, I believe this will not be an issue.

I will test using data from January 1, 2011 to Jun 4, 2021. 

2. System Definition

Position Sizing:

I will use the following position sizing:

  • Futures: 1 contract

Input Parameters:

No inputs for this system


VariableData TypeDefaultCalculation
SMA10Double010 period simple moving average
SMA100Double0100 period simple moving average


  • Long:
    • If SMA10 crosses over SMA100 then
    • Buy next bar at market
  • Short:
    • If SMA10 crosses under SM100 then
    • Sell short next bar at market
  • Profit targets: none
  • Stop Loss: none


  • Long:
    • On reversal only  
  • Short:
    • On reversal only  


  • None.    

3. Performance Objectives

The system will meet the following objectives:

System Type (trend, mean-reversion, day, swing, etc.)Trend
Walk-forward Efficiencyn/a
Risk of Ruin0%
Profit Factor>= 1.5
Win Percent>= 30%
Max Drawdown %< 35%
Profit/Drawdown Ratio>= 2.0
Ready Date2021/06/11

This idea is S.M.A.R.T.: Specific, Measurable, Achievable, Realistic, Time-bound

4. Market Selection


EnergiesCurrenciesFixed IncomeAgricultureMetalsSoftsIndexesEquities


Market GroupInstrumentSymbolComments
EnergiesRBOB Gasoline, Heating Oil, Crude Light, Natural GasRB, HO, CL, NG 
AgricultureSoft Red Wheat, Oats, Lean Hogs, Soybeans, CornW, O, LH, S, C 
MetalsSilver, Gold, CopperSI, GC, HG 
Fixed IncomeU.S. 30-Year Treasury BondsUS, TY 
IndexesE-mini S&P, E-mini Dow, E-mini Nasdaq 100, E-mini Russell 2000ES, YM, NQ, RTY 

Chart Type, Timeframe, Session, Time Zone:

Chart TypeRegular CandlestickCharting is only useful for validating entry and exit signals
Timeframe / Interval(s)Daily, 240 minuteI would normally only do this type of system on a daily timeframe, but I figured 240 would be interesting.
Time ZoneExchange 

Phase 2: Build

5. Manual Test

The manual test passed using RB (gasoline), though I have doubts as to how this will work over the long-term.

6. Build

Process Diagram

moving average crossover


This is embarrassingly simple.

7. Unit Test

Unit test passed fine, as expected with a simple system like this.  This is what the chart looks like with the two moving averages and trades.

moving average crossover


Note: Unit Test verifies that the system is executing the trading rules correctly.  It is, essentially, quality control.

Phase 3: Test

8. Optimization

No optimization required, my favorite kind of optimization!    

9. Walk-Forward Analysis

Due to a lag in calculating the 100-period moving average at the beginning of this test, the first trade did not happen until Jun 2011, so we have about 10 years of trades in this test.

Everything failed.  The best profit factor was 1.10 and the average profit factor over all instruments was 1.02.  To make things worse, most of the profitability came within the last 14 months. 

As mentioned earlier, I wanted to look at this from a portfolio perspective, to see if there is value using this in a portfolio.  I used all symbols defined in the Market Selection section (step 4), but only looked at the daily timeframe, which is what I would expect a CTA to use. 

Portfolio level analysis:

  • Profit Factor:      .98 (including open trade equity)

There really is nothing else to be said. 

10. Monte Carlo Simulation

We did not make it this far. 

11. Incubation

We did not make it this far. 

Phase 4: Deploy

We did not make it this far.

Trading System Result: FAIL

Notes and Commentary

Why did this fail?  If someone in the CTA/hedge fund industry states that a particular method works well for a trend-following system, I expect it to perform at least reasonably well.  Considering this was the second time this year that I had heard this idea proposed made me interested enough to present it here.  In this case, and particularly the portfolio, the idea crashed and burned.

Moving average systems are usually, by themselves, not very good, at least in my experience.  I expected the portfolio performance to be better than it was, but it was terrible.  We believe that simple trading ideas are among the best, but this one is not in that class. 

The 10-100 moving average cross-over system may have worked for a short time on specific instruments, but to me, this seems like these numbers were a result of overfitting.  One systematic trader, interviewed on the Better System Trader podcast, noted that moving averages should not be optimized and to do so is futile.  I cannot be certain, but this idea may fall into that category.

I do not want to try improving this system. 

I am not the biggest fan of cross-over systems and I have other ideas to pursue that are better.  The only thing I would try is this: exit if price closes below the 10-period moving average (long position) or above the 10-period moving average (short position).  This would probably turn into more of a swing trading system, but on the chart the idea looks better than this one.

Despite the failure of this idea, I highly recommend listening to the Top Traders Unplugged podcast referenced below, as Roman Lutz shared a lot of great ideas.  It is a two-part series, so you will want to listen to the whole thing.

Thank you for reading and I hope you enjoyed.  Feel free to leave a comment below and let me know what you think.

Next time’s idea:  It seems like time for another scalping idea.  I have several in my idea cauldron, so I will pick one that seems interesting and unique.  See you!


Did you like what you read? Do you want to see more?  Subscribe now and receive our email twice per month, with a new Trading System Idea and other fun stuff.

Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.

Did you like what you read? Do you want to see more?  Subscribe now and receive our email twice per month, with a new Trading System Idea and other fun stuff.

Don’t worry, we will never, ever, ever sell, overuse, or donate your email address. Promise.

Leave a Reply

Your email address will not be published. Required fields are marked *