The Moving Average Crossover strategy uses two moving averages of different periods to generate buy and sell signals. It appoximates the idea of a trending market by using 2 SMAs, one short fast SMA(50) and another slow longer SMA(200). It buys whenever a short SMA(50) crosses up a long SMA(200), thereby implying that the direction of the market has changed. It sells once a short SMA(50) crosses down a long SMA(200). These are fairly long MAs, which means that this strategy is naturalyl meant to capture bigger moves, and thereby might not be a good fit for short time frames. But assumptions like that do not mean anything, because we've backested it! See youself.
Backtest covers 38 days of GLD β’ 1 Minute (SPDR Gold Trust) data, from June 3, 2025 to July 11, 2025.
Equity curve is the strategy's performance over time. You should compare it to the asset's Buy & Hold performance. In general, you want the blue area to be well above the gray area.
Drawdown is how much losses (realized or unrealized) the strategy has had if compared to the highest equity peak. Compare this to the asset's drawdown to see whether your strategy does a decent job of isolating you from downside volatility. In general, the red area must be well within the gray area.
So, we have backtested 50/200 SMA cross on 38 days of GLD β’ 1 Minute candles.Β This backtest resulted in 33 positions, with the average win rate of 36% and reward-risk ratio of 2.49.Β If you assume that 2.49 reward-to-risk ratio holds, you need a minimum win rate of 28.6 to be profitable. So you're looking good so far.Β However, 33 positions is a small sample size, so take the results with a huge grain of salt.Β The key metrics are as follows:
With that exposure in mind, you can tell that for 52% time-in-market, you get Infinity% of the asset upside potential, and 45.45% of the asset downside potential.
All of the following: # "Papa" 1min Simple Moving Average (50, 0, close) Crosses β 1min Simple Moving Average (200, 0, close)
All of the following: # "India" 1min Simple Moving Average (50, 0, close) Crosses β 1min Simple Moving Average (200, 0, close)
This backtest shows some interesting metrics, but I have concerns about the statistical significance. With only 33 trades over 38 days, we cannot be too confident about the stability of these numbers going forward.
The risk/reward ratio of 2.49 looks quite good, and the strategy only needs 28.7% win rate to be profitable - which it achieves with 36%. However, what worries me is the 8-trade losing streak. Such a long drawdown sequence could be psychologically challenging for most traders, even though the individual losses are relatively small at -0.20%. The market exposure of 51.9% suggests this is not overly aggressive in terms of time in the market.
I would recommend running this backtest over a much longer timeframe, ideally 6-12 months minimum, to get more trades and better statistical validity. Also, testing it on different market conditions would be wichtig - we need to see how it performs in both trending and sideways markets. Right now the sample size is too small to make strong conclusions, even though the basic metrics look promising.
Madre mia, another one of these SMA crossing strategies! Let me tell you something - this is mediocre at best, and I'm being generous here.
36% win rate? Dios mio, you're losing almost two-thirds of your trades! Yes, yes, I can see the Risk/Reward ratio is 2.49, which technically makes it matematically viable, but an 8-trade losing streak? That's going to destroy most traders mentally before they ever see any real profits. The max drawdown of -2.5% doesn't look terrible, but with such poor win rate, it's probably just luck of the backtest period.
The most concerning thing - and this shows how amateur this approach is - you're testing this on 1-minute timeframe with just 38 days of data! This is like trying to predict the weather for next year by looking at what happened last month. And GLD? Por favor, gold futures are notorious for their fake breakouts, and you're trying to catch them with simple moving averages? That's like trying to catch butterflies with a fishing net!
Total Trades | 33 | Net Profit | 1.7% | Buy & Hold Profit | 0.0% |
Win Rate | 36% | Reward/Risk Ratio | 2.49 | Max Drawdown | -2.5% |
Asset Max Drawdown | -5.5% | Exposure | 51.9% | Avg Candles in Position | 156.2 |
Sharpe Ratio | Sortino Ratio | Realized Volatility | β | ||
Max Winning Streak | 3 | Avg Winning Streak | 1.3 | Max Losing Streak | 8 |
Avg Losing Streak | 2.3 | Avg Trades per Month | 52.1 | Avg Trades per Day | 1.7 |
Return Std Dev | 0.5 | Loss Std Dev | 0.2 | Win Std Dev | 0.6 |
Expectancy | 0.3 | Beta | 0.44 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSDT β’ 1 Minute | 57% | (5.4%/8.9%) 0.61x | (-2.0%/-1.9%) 1.05x | 39 | 5.4 |
EURUSD β’ 1 Minute | 61% | (-1.1%/-1.0%) 1.10x | (-1.2%/-1.2%) 1.00x | 20 | 1.1 |
GLD β’ 1 Minute | 52% | (1.7%/0.0%) Infinityx | (-2.5%/-5.5%) 0.45x | 36 | 2.5 |
NVDA β’ 1 Minute | 61% | (1.2%/16.7%) 0.07x | (-7.9%/-4.4%) 1.80x | 28 | 2.9 |
SPY β’ 1 Minute | 60% | (0.5%/4.6%) 0.11x | (-2.5%/-2.1%) 1.19x | 33 | 2.3 |
TSLA β’ 1 Minute | 47% | (6.6%/-10.3%) -0.64x | (-11.2%/-21.4%) 0.52x | 39 | 2.1 |
WMT β’ 1 Minute | 41% | (-0.5%/-5.4%) 0.09x | (-3.9%/-6.4%) 0.61x | 29 | 2.4 |
BTCUSDT β’ 10 Minutes | 57% | (18.2%/22.4%) 0.81x | (-8.6%/-12.1%) 0.71x | 41 | 3.1 |
EURUSD β’ 10 Minutes | 55% | (2.5%/5.8%) 0.43x | (-2.2%/-4.3%) 0.51x | 38 | 2.4 |
GLD β’ 10 Minutes | 58% | (26.1%/43.7%) 0.60x | (-5.9%/-8.3%) 0.71x | 54 | 3.1 |
NVDA β’ 10 Minutes | 57% | (5.0%/32.9%) 0.15x | (-33.4%/-42.8%) 0.78x | 44 | 1.4 |
SPY β’ 10 Minutes | 60% | (6.6%/14.3%) 0.46x | (-13.4%/-20.7%) 0.65x | 41 | 1.9 |
TSLA β’ 10 Minutes | 47% | (18.4%/59.0%) 0.31x | (-34.8%/-55.3%) 0.63x | 41 | 1.9 |
WMT β’ 10 Minutes | 60% | (37.4%/40.1%) 0.93x | (-10.3%/-23.8%) 0.43x | 62 | 1.8 |
BTCUSDT β’ 1 Hour | 56% | (36.4%/68.2%) 0.53x | (-31.3%/-30.6%) 1.02x | 43 | 2.2 |
EURUSD β’ 1 Hour | 50% | (6.9%/6.8%) 1.01x | (-5.7%/-9.0%) 0.63x | 42 | 2.4 |
GLD β’ 1 Hour | 60% | (35.8%/117.6%) 0.30x | (-26.6%/-22.2%) 1.20x | 36 | 3.0 |
NVDA β’ 1 Hour | 61% | (783.4%/3126.3%) 0.25x | (-51.4%/-68.0%) 0.76x | 52 | 3.5 |
SPY β’ 1 Hour | 64% | (85.7%/106.7%) 0.80x | (-19.0%/-35.1%) 0.54x | 61 | 2.3 |
TSLA β’ 1 Hour | 55% | (2930.2%/1395.5%) 2.10x | (-38.7%/-75.1%) 0.52x | 56 | 6.0 |
WMT β’ 1 Hour | 60% | (33.6%/138.2%) 0.24x | (-28.4%/-26.9%) 1.06x | 50 | 1.6 |
BTCUSDT β’ Daily | 59% | (638.7%/1337.5%) 0.48x | (-61.1%/-76.6%) 0.80x | 83 | 7.3 |
EURUSD β’ Daily | 35% | (4.8%/10.8%) 0.44x | (-12.2%/-23.3%) 0.52x | 71 | 0.7 |
GLD β’ Daily | 61% | (242.9%/595.1%) 0.41x | (-36.4%/-45.3%) 0.80x | 46 | 6.4 |
NVDA β’ Daily | 65% | (83183.3%/373678.5%) 0.22x | (-57.1%/-90.0%) 0.63x | 77 | 16.0 |
SPY β’ Daily | 72% | (1127.3%/1316.3%) 0.86x | (-32.5%/-56.7%) 0.57x | 87 | 3.8 |
TSLA β’ Daily | 57% | (3139.0%/24185.2%) 0.13x | (-65.4%/-75.0%) 0.87x | 38 | 25.3 |
WMT β’ Daily | 64% | (1143.9%/13022.2%) 0.09x | (-57.1%/-50.6%) 1.13x | 39 | 8.1 |