TradingView session research

Power-hour trading: define the session before testing it

For this US stock workflow, power hour means the final 60 minutes before the scheduled regular-session close: 15:00 to 16:00 New York time on a normal trading day. On a 13:00 early close, it means 12:00 to 13:00. The label identifies a time window, not a buy signal. Test whether your chosen conditions work after costs instead of assuming that late activity produces better trades.

See the decision guide

Which market and which closing hour?

This page uses US cash equities and the NYSE core session as its reference. NYSE lists normal core trading from 09:30 to 16:00 ET and a closing auction at 16:00. Futures, options, foreign exchanges, and continuously traded crypto require their own session definitions. An opening range breakout measures activity after an open; a London breakout uses a different market window. Neither supplies evidence for this closing-hour hypothesis.

  • Verify the calendar for every test year. Do not apply the two listed 2026 dates to other years.
  • For a five-minute chart, the normal window contains bars opening at 15:00 through 15:55. A bar opening at 16:00 belongs outside this window.
  • A halt or missing feed bars can leave an incomplete window. Do not relabel the final 12 available bars as the final hour.
Calendar caseScheduled close in New YorkFinal-hour window
Normal US equity trading day16:0015:00 to 16:00
NYSE early close: November 27, 202613:0012:00 to 13:00
NYSE early close: December 24, 202613:0012:00 to 13:00
Exchange holidayNo regular sessionNo observation

Set up the TradingView chart and check the clock

Open the exchange-qualified stock symbol on standard five-minute candles with regular trading hours selected. Set the chart clock to New York for a readable audit. Record the symbol, data feed, interval, session setting, and date. In Pine, the chart timezone changes labels only; a script must use the exchange timezone or an explicit timezone argument. America/New_York follows daylight saving changes, whereas a fixed UTC offset does not.

  • A script with a New York timezone still needs a holiday and early-close policy. Daylight saving adjustment does not provide an exchange calendar.
  • Check the first included and first excluded bar on a winter date, a summer date, and an early close before trusting an alert.
  • Keep regular-session and extended-hours observations separate. A delayed or incomplete feed cannot establish what an actionable live alert would have shown.
Calculated example dateNew York final hourSame instants in UTC
January 15, 202615:00 to 16:0020:00 to 21:00
July 15, 202615:00 to 16:0019:00 to 20:00
November 27, 2026, early close12:00 to 13:0017:00 to 18:00

Compare volume and price movement on equal terms

Start with three equal 60-minute windows on normal sessions: 09:30 to 10:30, 12:00 to 13:00, and 15:00 to 16:00. Use the same symbol, feed, and five-minute interval. Sum the 12 bar volumes in each window. Measure its high-low range as 100 × (highest high − lowest low) / first-bar open. Range is a simple movement measure; it does not measure direction, realized volatility, or a tradable profit.

  • These invented inputs produce final-hour volume 2.25 times midday volume, but only 0.75 times opening-hour volume. The final-hour range is twice the midday range and two-thirds of the opening range. They demonstrate arithmetic, not a market finding.
  • For your dataset, compute each daily comparison first, then report the number of valid days, median ratios, and spread of results. Exclude incomplete windows explicitly; a zero midday volume makes a volume ratio undefined.
  • Audit how the feed assigns closing-auction prints to bars. Keep the same inclusion policy across dates, and compare results with and without the last bar as a sensitivity check. That check does not isolate the auction exactly if continuous trades share the bar.
  • Separate early closes from normal days: 12:00 to 13:00 is the final hour on an early close and cannot also serve as its independent midday control.
Hypothetical windowVolumeOpen / high / lowRange as % of open
Opening hour1,200,000 shares$100 / $100.80 / $99.60100 × 1.20 / 100 = 1.20%
Midday hour400,000 shares$100 / $100.30 / $99.90100 × 0.40 / 100 = 0.40%
Final hour900,000 shares$100 / $100.60 / $99.80100 × 0.80 / 100 = 0.80%

Turn a late breakout idea into an observable condition

Here is a long-only paper-test specification, not a recommended strategy. On normal full sessions, freeze the highest high from 14:00 up to 15:00. From 15:00 onward, flag the first completed five-minute bar closing above that level only when its volume is at least 1.5 times the median volume of the matching five-minute slot over the previous 20 valid full sessions. Use only prior sessions in that baseline, permit one entry per day, and skip a day without the required history. Test early closes separately.

  • A flag becomes available at 15:10, not at the 15:05 bar open. Do not assume an entry at $100.45 after seeing that closing price; record the next executable price or the actual simulated fill.
  • For a complete paper test, specify a fixed $0.30 stop distance from entry, a $0.60 target, and a planned exit by 15:55, with no new entries after 15:45. A five-minute OHLC bar hitting both stop and target has ambiguous order without finer data; flag it instead of choosing the favorable sequence.
  • At a hypothetical $100.48 fill and 100 shares, the stop level is $100.18 and planned price risk is $30 before costs. A $100.78 exit earns $30 gross; $4 total fees and slippage cost leave $26. Gaps or failed execution can exceed the planned loss.
  • The completed final-hour volume, day high, and eventual closing price are review statistics. They were unavailable at 15:10 and cannot be used to justify that signal.
Information known at 15:10Hypothetical valueCondition result
Frozen 14:00 to 15:00 high$100.40Reference was known before the window
Close of the 15:05 to 15:10 bar$100.45100.45 > 100.40: pass
That completed bar volume / prior-slot median90,000 / 50,000 shares1.80 >= 1.50: pass
Same close with only 60,000 shares60,000 / 50,000 = 1.20Fail: no flag

Keep the hypothesis and the losing cases in the journal

Write the rule before collecting the evaluation period. Save each candidate timestamp, whether it passed, the reason for any skip, expected risk, actual fill, costs, and exit reason. Tag auction-sensitive days, earnings events, halts, and early closes before comparing groups. More activity near the close can coexist with poor execution or a losing rule.

  • Separate rule development from evaluation dates. Report all qualifying signals in the evaluation period, including losses and signals you chose not to trade.
  • Keep a chart capture at the decision time and another after the exit. Label later annotations as review notes so they cannot be mistaken for information available at entry.
  • Pineify Trading Journal supports strategy labels and text notes. Put the rule version, timezone, and a screenshot URL or filename in those notes; the free journal does not attach image files.
  • The free journal stores records in the current browser. Export a backup and keep the underlying screenshots separately. Use an external research sheet for skipped candidates that are not completed trades.
Where Pineify fits

Pine Script AI Coding Agent

Give Pineify the written session rule, calendar exceptions, completed-bar condition, prior-session baseline, and skip rules to draft a chart helper or alert. Inspect the source and compare the flags against your hand-worked examples before use. Generating code does not supply missing market data or prove a trading edge.

Also useful: Trading Journal. Record completed trades with strategy labels, fees, and notes containing the rule version and screenshot reference. Keep a separate record of rejected signals for the full experiment.

Draft a session-aware chart helper

Frequently asked questions

Educational workflow, not investment advice. All prices, volumes, thresholds, and trade results in the examples are hypothetical. No observed performance advantage is claimed. Historical and simulated outcomes do not guarantee future results or live execution.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.