Verdict

New York open · 12 EMA on Nasdaq

By Thomas Jamais (Backtestd) · Published · Updated

No edge after costs
28versions tested
96%lost money after costs
−0.11typical version, R per trade
−0.11the rule as sold, R per trade

Does new York open · 12 EMA on Nasdaq work?

No, not in our test. We coded the rule, tested 28 versions of it on 1 market from 2022 to 2025, fees, slippage and funding included. 96% of the versions lost money. The few positive versions are what luck alone produces when you try many settings.

Key facts

Versions tested28
Markets1
Period2022-11-11 → 2025-07-09
Candles15m
Costsfees, slippage and funding on every trade
Versions that lost money96%
VerdictNo edge after costs

In short

We coded the rule, tested 28 versions of it on 1 markets from 2022 to 2025, fees, slippage and funding included. 96% of the versions lost money. The few positive versions are what luck alone produces when you try many settings.

The rule people share

As it is usually explained:

Wait for the New York open First candle above the 12 EMA: buy The stop follows the trend

Explained: the terms

  1. Nasdaq, 15-minute candles — This is the Nasdaq, one candle every 15 minutes.
  2. 09:30: New York opens — At 9:30, New York opens. The first candle sets the direction.
  3. The 12 EMA — The 12 EMA: the average of the last 12 candles, recent ones count more.
  4. Close above: buy — First candle closes above the 12 EMA: buy. Below it: sell.
  5. The stop follows — Then the stop follows the trend.

How we tested it

Read the full method →

Data

15m candles of 1 markets (QQQ), from 2022-11-11 to 2025-07-09. Crypto prices come from OKX perpetual futures; the 2020–2022 check uses Binance's public archive (median price gap to OKX: 0.06%). US index data comes from HistData.

Costs

Every trade pays a 0.05% taker fee per side, 2–5 basis points of slippage per side, and funding every 8 hours at each market's measured average rate. Results are in R: 1 R is the amount risked on one trade (entry to stop), so strategies with different stops compare fairly.

Versions

A rule shared online is never fully specified (which stop? which holding time? which timeframe?). So we test every reasonable reading: each combination of the settings below is one version.

Two halves

The data is split in two halves (a rising market, then a flatter one). A real edge should work in both.

Results

All 28 versions

−1 R0+1 R

Each bar counts versions by their average result per trade after costs (clipped to ±1 R). Green: made money; red: lost money.

The rule as sold

348 trades, 43% winners, −0.109 R per trade on average, −37.9 R in total, worst drawdown −41.6 R.

Cumulative result after costs, trade after trade.

Why “the best version” misleads

With 28 versions, some look good by luck alone. The typical version made −0.110 R per trade; the best made +0.026. If the rule had no edge at all, the spread of results would look like this anyway: the best of many random tries always looks impressive. That is why we never trust the best version until it works on data it was not chosen on.

Verify it yourself

  1. Write the rule exactly (below: our specification and every setting we tried).
  2. Get free data: Binance's public archive (data.binance.vision) has years of candles; OKX and most exchanges offer an API.
  3. Include costs: fees on both sides, slippage, and funding for perpetual futures.
  4. Count results in R (risk per trade), not in %, and look at the typical version, not the best one.
  5. Split your data in two and keep a part you never look at until the end.
  6. Compare with simply holding the market over the same days.

Our exact specification (the lab's own words, in English)

New York open, side of the 12 EMA: one trade per US weekday, direction set by the first candle.

What it does: on the candle that contains the New York stock-market open (09:30 America/New_York,
i.e. 13:30 UTC in US summer time and 14:30 UTC in winter), it looks at that candle's close. Close
above the `ema_len` EMA -> long; close below -> short. Mondays to Fridays only (US holidays are not
skipped). Protective stop at stop_mult x the average daily range (14 days), optional target at
target_r x the stop distance (0 = none), and a time stop after hold_bars.

Source: QUANTLAB | Algorithmic Trading (quant_labde), Instagram reel, Oct 2026: "We wait for the
first five-minute candle after the New York Open. Above the 12 EMA, we go long. Below it, we go
short." Traded on NAS100 with "automatic trailing stops"; no stop, target or trailing rule given.

Adaptations (idea only, no code copied):
- Our smallest candle is 15m, so the signal candle is the 09:30-09:45 ET candle, not 09:30-09:35.
  On 1h/4h/1d data it is the candle that contains 09:30 ET (on 1d that is every weekday).
- The video gives no initial stop. We use stop_mult x average daily range.
- The video exits with an undefined trailing stop; our engine has none, so exits are the fixed
  stop, an optional R-multiple target and a time stop. The grid spans 4 h to 14 days because the
  video's third trade was still open over the weekend, and K-006 favours longer holds.
- US daylight-saving dates are computed from ts with integer arithmetic (second Sunday of March to
  first Sunday of November), because date helpers are not allowed in strategy code.
Close to retired ideas: it is short-horizon EMA momentum.
What is new is only the time-of-day anchor (the US cash open).

Settings tried

SettingValues
ema_len12
stop_mult0.5, 1.0, 1.5
target_r0.0
hold_bars384, 96
exit_trail1, 2, be, off, step

Settings of the version shown

ema_len12
stop_mult1.0
target_r0.0
hold_bars96
exit_trail1

Download every trade of the version shown (CSV, 348 rows)

Limitations

Questions

Did you include fees?

Yes: fees, slippage and funding on every trade, from real exchange schedules.

Maybe it works on another timeframe?

We tested several timeframes and holding times: see “Settings tried”. The result does not depend on one choice.

Maybe it works with better risk management?

We tried stops of different widths, targets, trailing stops and partial exits. Risk management changes the shape of the results, not the sign of the edge.

Why should I trust you?

You should not: verify. The rule, every setting and every trade are on this page.

Does this mean nobody makes money with it?

Some traders will, by skill elsewhere or by luck. This test only says the rule itself does not give an edge after costs.

Disclaimer

Educational content based on historical backtests. Not financial advice. Past results do not predict future results. Trading leveraged products can lose more than you invest.

More tests

Fair value gap (FVG)
772 · No edge after costs
→
Moving-average trend following
1249 · No edge after costs
→
RSI pullback in a trend
1448 · Not proven
→

← All tests