BACKTESTING · EMA CROSSOVER

EMA Crossover Backtest in Crypto: Fees, Slippage and Break-Even Costs

An EMA crossover backtest that ignores costs can look profitable. Calculate the cost per trade it can survive before you trust it.

Short answer

For an EMA crossover strategy, compute break-even cost: gross expectancy per trade (before costs) is the maximum round-trip cost the strategy can pay and still break even. Illustrative: 400 trades with gross average +0.09% per trade can survive at most 0.09% round-trip costs; with 0.05% taker fees per side (0.10%) plus slippage, it loses money. Crossovers trade often in ranges, so costs dominate. Test with next-bar fills, realistic fees and slippage, and filters that reduce whipsaws.

Break-even cost

ItemValue (illustrative)
Trades400
Gross avg per trade+0.09%
Taker fees (2 × 0.05%)−0.10%
Slippage (2 × 0.02%)−0.04%
Net avg per trade−0.05%
Gross edge vs costs per trade (%)Gross edge vs costs per trade (%): Gross edge 0.09 %; Fees 0.10 %; Fees + slippage 0.14 %.GROSS EDGE VS COSTS PER TRADE (%)Gross edge0.09 %Fees0.10 %Fees + slippage0.14 %
Costs exceed the edge. Original ChartsPod editorial graphic.

Why crossovers are cost-sensitive

In ranging markets, fast and slow EMAs cross repeatedly, producing many small losing trades. Each pays full costs. Trend periods produce fewer, larger wins. The ratio of range to trend periods in your test window largely decides the result.

Improving a crossover testImproving a crossover test: Next-bar fills; Realistic fees (maker/taker); Slippage by volatility; Funding for perps; Filter: trend regime or minimum separation; Report trade count and break-even cost.IMPROVING A CROSSOVER TESTNext-bar fillsRealistic fees (maker/taker)Slippage by volatilityFunding for perpsFilter: trend regime or minimum separationReport trade count and break-even cost
Report break-even cost alongside return. Original ChartsPod editorial graphic.

Example: filtering whipsaws

Illustrative: adding a rule that requires the EMAs to be at least 0.3% apart before entering cuts trades from 400 to 160. Gross expectancy rises from +0.09% to +0.22% per trade; after 0.14% costs, net is +0.08% per trade. Fewer trades, positive net edge. The filter is a new parameter, so test it out of sample.

Conclusion

Related: Bar-Close Signals vs Next-Bar Fills: Why Backtest Returns Change, Crypto Backtest Slippage: Fixed Bps vs Liquidity-Based Assumptions, Crypto Risk-Reward After Fees: Calculate the Real Break-Even Win Rate.

Backtest a crossover with costs and next-bar fills.

Open the ChartsPod terminal

Compute the cost per trade an EMA crossover can survive, and trust it only if real costs are comfortably below that.

Put EMA Crossover Backtest in Crypto next to price, flow and positioning in one workspace.

Open a ChartsPod workspace

Questions readers ask

Why do EMA crossovers fail after fees?

They trade often, especially in ranges, and costs exceed the small edge per trade.

What is break-even cost?

The gross expectancy per trade; costs above it make the strategy lose.

How can I reduce costs?

Fewer trades via filters, maker orders where realistic, or longer timeframes.

Sources and methodology

Backtesting cost logic follows TradingView's strategy documentation; numbers are illustrative.

  1. TradingView Pine Script: Strategies — simulated fills and assumptions.
  2. ChartsPod documentation — guides for order flow, derivatives, alerts, backtests, journal and workspaces.

This article explains research tools and workflows. It is not financial advice, does not recommend buying or selling any asset and does not predict prices. Crypto derivatives carry a risk of rapid and total loss of margin.

CHARTSPOD EDITORIAL EDITION · RESEARCH AND EDUCATION ONLY · NOT FINANCIAL ADVICE.