← All strategy tests
Historical simulationStocks15m barsLong onlyIntraday

SPY: EMA crossover, 15m (2026-07-03 to 2026-09-30)

TradesViz example study: EMA crossover on SPY.US, 15-minute bars, 2026-07-03 through 2026-09-30. This is a historical simulation with preset rules, not a live account or an optimized strategy. Tests whether a fast exponential moving average crossing a slower one captures persistent trends. Entry: [CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=above)] Exit: [CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=below)] Settings: long only; next-bar-open fills; 25,000 starting equity in quote currency; 25% of current equity per position; 14-period ATR, 2 ATR initial stop, 3R target, 3 ATR trailing stop, and a 100-bar maximum holding period. Session 09:30 to 16:00 in exchange time (selected hours). Positions close at the end of each session. Assumed costs: 0.01% of traded value commission per side and 0.01 points slippage per market fill. These are illustrative fixed assumptions, not broker quotes. Funding, financing, borrow fees, varying spreads, and market impact are not separately modeled. Limitations: Moving averages lag price and repeated crosses can produce losses in sideways markets. The catalog includes preset markets and periods without selecting winners. This recent-intraday window is a separate study, not out-of-sample proof. Data availability, gaps and ambiguous intrabar fills must be checked in the completed report. Requested period: 2026-07-03 to 2026-09-30. Available test data: 2026-07-06 to 2026-09-30, 1,612 bars (America/New_York dates). Simulated historical strategy test for SPY.US using 15-minute bars from 2026-07-03 to 2026-09-30. Asset class: stocks. Indicators and functions used: CROSSED, EMA; Box 1 condition: [CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=above)]; Box 2 condition: [CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=below)]. Long only. Fills at the next bar's open. Opposite signal reverses the position. Starting equity: 25,000. Position size: 25 % of equity. Stop loss: 2 ATR. Take profit: 3 R. Trailing stop: 3 ATR. Commission per side: 0.01 %. Slippage per fill: 0.01 points. Maximum holding period: 100 bars. Close positions at session end. Risk-setting ATR period: 14. Session: 09:30 to 16:00 (exchange time). Saved results. Trades: 28; Net P&L: -179.045828; Return: -0.716183%; Win rate: 28.571429%.

Shared by pk78 · Published 2026-10-15 · Snapshot 2026-10-15 · Report revision 1

Test your versionLoads these rules and settings. Review them before starting a new test.

What was tested

Market
SPY.US
Timeframe
15-minute bars
Test window
2026-07-03 – 2026-09-30
Engine
tv-engine-3

Simulated historical results, not live trading performance. Historical results do not predict future returns. Shared sections are selected by the author; hidden sections have not been independently verified. The author controls which sections are visible. This is a saved result; market data revisions or engine updates can change a later rerun.

Result and evidence

Too few trades

Only 28 trades, which is not enough to judge the strategy. Test a longer period.

Net P&L
-179.05
Return
-0.72%
Trades
28
Win rate
28.6%
Profit factor
0.31
Maximum drawdown
-0.84%
Average trade
-6.39
Average R
-0.30R
Sharpe ratio
-6.04
Commission paid
33.89
Chance a no-edge strategy does this well
98.7%
P&L without the 2 best trades
-221.14

Read before trusting the numbers

  • Only 28 trades. That is too few to tell skill from luck; test a longer period or a faster timeframe.

The luck check is a statistical estimate for this sample, not the probability of future success. Costs, sample size and testing many variants affect how much confidence a result deserves.

Full performance statistics

Compare the full run with its long and short trades.

Statistics from the saved run, for All, Long and Short trades. N/A means unavailable or not applicable.
MetricAllLongShort
Performance
Net P&L-179.05-179.05N/A
Return on starting equity-0.72%N/AN/A
Profit factor0.310.31N/A
Average trade (expectancy)-6.39-6.39N/A
Average R per trade-0.30R-0.30RN/A
Total R-8.52R-8.52RN/A
Buy & hold return (same period)1.84%N/AN/A
Trades
Trades28280
Win rate28.57%28.57%N/A
Average win10.1110.11N/A
Average loss-13.00-13.00N/A
Average win / average loss0.780.78N/A
Largest win21.3821.38N/A
Largest loss-31.90-31.90N/A
Most wins in a row22N/A
Most losses in a row66N/A
Average bars in trade12.2112.21N/A
Average time in trade3h 32s3h 32sN/A
Average adverse excursion (MAE)12.8912.89N/A
Average favorable excursion (MFE)10.3710.37N/A
Risk
Max drawdown-210.59N/AN/A
Max drawdown %-0.84%N/AN/A
Longest drawdown86d 30mN/AN/A
Sharpe ratio (daily, annualized)-6.04N/AN/A
Sortino ratio (daily, annualized)-5.36N/AN/A
Time in the market19.73%N/AN/A
Costs
Commission paid33.8933.89N/A
Same-bar exits assumed stop-first0N/AN/A
Luck check
Chance a no-edge strategy does this well99%N/AN/A
Net P&L without the 2 best trades-221.14N/AN/A

N/A means the metric is unavailable or does not apply to that side. Colors describe individual metrics, not the reliability of the strategy.

Strategy rules

Entry / long entry

[CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=above)]

Exit / short entry

[CROSSED(input_col=EMA(10), input_col2=EMA(25), direction=below)]

Execution and risk settings

Direction
Long only
Signal mode
Entry and exit
Order fills
Next bar's open
Opposite signal
Reverse position
Starting equity
25,000.00
Position size
25.00 % of equity
Stop loss
2.00 ATR
Take profit
3.00 R
Trailing stop
3.00 ATR
Move stop to breakeven at R
Not set
Maximum bars in trade
100.00
Flat at session end
Yes
Commission per side
0.01 %
Slippage per fill
0.01 points
Session
09:30 – 16:00 (exchange time)

Equity and drawdown

Saved simulated equity across this test window. Drag the range control to inspect a period.

Simulated trades

28 trades in this snapshot. All times are UTC.

#SideEntryExitSizeEntry priceExit priceNet P&LExit reason
1.0Long2026-07-06 14:00:002026-07-06 20:00:008.00748.5500751.290020.72session_end
2.0Long2026-07-07 18:00:002026-07-07 19:00:008.00749.1900747.4900-14.80exit_signal
3.0Long2026-07-08 19:30:002026-07-08 20:00:008.00745.2100745.3300-0.23session_end
4.0Long2026-07-14 15:15:002026-07-14 20:00:008.00752.6000751.8400-7.28session_end
5.0Long2026-07-15 18:00:002026-07-15 20:00:008.00754.2100754.73002.95session_end
6.0Long2026-07-20 16:15:002026-07-20 17:00:008.00746.8400745.0000-15.91exit_signal
7.0Long2026-07-21 14:30:002026-07-21 20:00:008.00746.8600748.305010.36session_end
8.0Long2026-07-24 15:30:002026-07-24 18:25:008.00742.6100739.1000-29.27stop_loss
9.0Long2026-07-27 14:00:002026-07-27 14:30:008.00741.6100738.3200-27.50exit_signal
10.0Long2026-07-28 15:30:002026-07-28 20:00:008.00741.1800740.7500-4.63session_end
11.0Long2026-07-29 18:45:002026-07-29 19:20:008.00740.7300736.8900-31.90stop_loss
12.0Long2026-07-30 14:30:002026-07-30 15:15:008.00738.6700734.8600-31.66exit_signal
13.0Long2026-07-30 16:15:002026-07-30 20:00:008.00738.8800741.700021.38session_end
14.0Long2026-08-07 14:00:002026-08-07 20:00:008.00771.0800773.190015.64session_end
15.0Long2026-08-10 19:00:002026-08-10 20:00:008.00773.2100773.0500-2.52session_end
16.0Long2026-08-12 14:30:002026-08-12 20:00:008.00772.8000772.5100-3.56session_end
17.0Long2026-08-19 14:45:002026-08-19 17:20:008.00771.0800769.1600-16.59trailing_stop
18.0Long2026-08-21 15:45:002026-08-21 18:30:008.00767.3200765.2200-18.03stop_loss
19.0Long2026-08-21 19:00:002026-08-21 20:00:008.00766.2100765.6800-5.47session_end
20.0Long2026-08-25 13:45:002026-08-25 14:30:008.00766.1600764.2600-16.42stop_loss
21.0Long2026-08-26 18:00:002026-08-26 20:00:008.00765.6800766.00001.33session_end
22.0Long2026-09-02 14:30:002026-09-02 20:00:008.00765.2850765.1300-2.46session_end
23.0Long2026-09-11 13:45:002026-09-11 20:00:008.00765.4900764.1850-11.66session_end
24.0Long2026-09-16 14:15:002026-09-16 18:00:008.00759.5799758.9800-6.01trailing_stop
25.0Long2026-09-17 14:30:002026-09-17 20:00:008.00761.6800762.62006.30session_end