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 98 days of EURUSD β’ 10 Minutes (Euro vs USD spot (Interactive Brokers)) data, from April 4, 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 98 days of EURUSD β’ 10 Minutes candles.Β This backtest resulted in 34 positions, with the average win rate of 38% and reward-risk ratio of 2.43.Β If you assume that 2.43 reward-to-risk ratio holds, you need a minimum win rate of 29.1 to be profitable. So you're looking good so far.Β However, 34 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 55% time-in-market, you get 43.10% of the asset upside potential, and 51.16% of the asset downside potential.
All of the following: # "Papa" 10min Simple Moving Average (50, 0, close) Crosses β 10min Simple Moving Average (200, 0, close)
All of the following: # "India" 10min Simple Moving Average (50, 0, close) Crosses β 10min Simple Moving Average (200, 0, close)
Yo fam, check out these backtest results! π₯ This 50/200 SMA cross strategy is giving some interesting vibes on EURUSD.
Listen up, the strategy's got some sweet potential with that 2.43 risk/reward ratio - that's like getting more than double your money when you win compared to what you lose! And peep this: we only need a 29.2% win rate to break even, but we're hitting 38%. That's like getting extra tendies with your 4 for 4! π The max drawdown is only -2.2% which is pretty chill for your account balance.
But here's the thing bros - we're underperforming buy & hold (2.5% vs 5.8%) and that 38% win rate means we're taking more L's than W's. The market exposure at 54.5% suggests we're sitting out almost half the moves. Not exactly YOLO material, but maybe that's not so bad for capital preservation? π€ Still, with those Sharpe and Sortino ratios looking kinda mid, I might need to keep slinging those Baconators while we tweak this bad boy. Maybe adding some momentum indicators could juice up those numbers! π
Total Trades | 34 | Net Profit | 2.5% | Buy & Hold Profit | 5.8% |
Win Rate | 38% | Reward/Risk Ratio | 2.43 | Max Drawdown | -2.2% |
Asset Max Drawdown | -4.3% | Exposure | 54.5% | Avg Candles in Position | 159.3 |
Sharpe Ratio | 0.47 | Sortino Ratio | 1.21 | Realized Volatility | 5.19% |
Max Winning Streak | 4 | Avg Winning Streak | 1.6 | Max Losing Streak | 5 |
Avg Losing Streak | 2.3 | Avg Trades per Month | 20.8 | Avg Trades per Day | 0.7 |
Return Std Dev | 0.6 | Loss Std Dev | 0.2 | Win Std Dev | 0.6 |
Expectancy | 0.3 | Beta | 0.58 |
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 |