Skip to main content

Session Levels

Session Levels draws horizontal lines at the previous session’s high, low, and open prices for daily, weekly, and monthly periods. These levels are among the most universally watched reference points in trading — they represent concrete prices where the market previously found supply (highs) or demand (lows), and they often act as support, resistance, or breakout triggers in the current session.

How It Works

At the start of each session period (day, week, month), the indicator records the high, low, and open from the previous completed period and draws them as horizontal lines extending into the current session:
  • Previous Day High (PDH): The highest price reached during the prior trading day.
  • Previous Day Low (PDL): The lowest price reached during the prior trading day.
  • Previous Day Open (PDO): The opening price of the prior trading day.
  • Previous Week High (PWH): The highest price during the prior calendar week.
  • Previous Week Low (PWL): The lowest price during the prior calendar week.
  • Previous Month High (PMH): The highest price during the prior calendar month.
  • Previous Month Low (PML): The lowest price during the prior calendar month.
These levels remain static throughout the current period and update when a new period begins.

Indicator Type

Overlay — Session levels are drawn as horizontal lines directly on the price chart.

Settings

Visibility Controls

ParameterTypeDefaultDescription
showDayLevelsbooleantrueShow previous day high, low, and (optionally) open.
showWeekLevelsbooleantrueShow previous week high and low.
showMonthLevelsbooleantrueShow previous month high and low.
showOpenLevelsbooleantrueShow the open price for each enabled period. When false, only high/low are drawn.

Daily Level Styling

ParameterTypeDefaultDescription
dayHighColorcolor#22c55eColor for the previous day high line.
dayLowColorcolor#ef4444Color for the previous day low line.
dayOpenColorcolor#f59e0bColor for the previous day open line.
dayLineThicknessnumber1.0Line thickness in pixels for daily levels.
dayLineStyleselectdashLine style: solid, dash, dot.

Weekly Level Styling

ParameterTypeDefaultDescription
weekHighColorcolor#3b82f6Color for the previous week high line.
weekLowColorcolor#8b5cf6Color for the previous week low line.
weekOpenColorcolor#06b6d4Color for the previous week open line.
weekLineThicknessnumber1.5Line thickness in pixels for weekly levels. Thicker than daily by default to indicate higher significance.
weekLineStyleselectdashLine style: solid, dash, dot.

Monthly Level Styling

ParameterTypeDefaultDescription
monthHighColorcolor#ec4899Color for the previous month high line.
monthLowColorcolor#f97316Color for the previous month low line.
monthOpenColorcolor#14b8a6Color for the previous month open line.
monthLineThicknessnumber2.0Line thickness in pixels for monthly levels. Thickest to indicate highest significance.
monthLineStyleselectsolidLine style: solid, dash, dot.

Text Labels

ParameterTypeDefaultDescription
textSizeDaynumber10Font size for daily level labels (PDH, PDL, PDO).
textSizeWeeknumber11Font size for weekly level labels (PWH, PWL).
textSizeMonthnumber12Font size for monthly level labels (PMH, PML).
Use progressively thicker lines and larger text for higher-timeframe levels (daily → weekly → monthly). This creates a visual hierarchy where the most important levels stand out immediately.

Interpretation

Previous Day High and Low

The previous day high (PDH) and low (PDL) are the most frequently referenced session levels: Breakout signals:
  • Price breaking above PDH = daily range expansion to the upside. Buyers are willing to pay more than yesterday’s maximum.
  • Price breaking below PDL = daily range expansion to the downside. Sellers are pushing below yesterday’s minimum.
Reversal signals:
  • Price approaching PDH and rejecting = supply zone. Yesterday’s buyers at the high may be taking profits.
  • Price approaching PDL and bouncing = demand zone. Buyers are defending yesterday’s low.
Range trading:
  • When price trades between PDH and PDL, the market is in a “consolidation” or “inside day” relative to the prior session.
  • Breakout from this range often defines the direction for the rest of the session.

Previous Day Open

The previous day open (PDO) is less commonly watched but valuable:
  • It represents the neutral point of the prior session — where price started before any directional bias was established.
  • Price above PDO and above PDH = strong bullish continuation.
  • Price below PDO but above PDL = neutral to mildly bearish.
  • Price below PDL = clearly bearish.

Weekly and Monthly Levels

Higher-timeframe session levels carry more significance because they represent larger pools of accumulated supply and demand:
  • Previous Week High/Low: Key levels for swing traders. A break above PWH suggests a weekly timeframe breakout. These levels are often tested on Monday or Tuesday of the new week.
  • Previous Month High/Low: Institutional-grade levels. Many large fund managers track monthly ranges. A monthly level break is a significant event that can trigger multi-day follow-through.
Previous day high and low are the most important levels for intraday trading. A break of PDH with strong volume often sets the tone for the entire session. Monthly levels carry the most weight for position traders — when price reaches PMH or PML, expect increased institutional activity.

Level Confluence

Session levels become especially powerful when they cluster with other reference points:
Confluence TypeExampleSignificance
Session + SessionPDH lines up with PWL from two weeks agoDouble session-level support/resistance
Session + VWAPPDL is near the daily VWAPInstitutional buying benchmark meets structural support
Session + Volume ProfilePDH aligns with a Volume Profile POCPrice, session structure, and volume all agree
Session + Round numberPWH is at $50,000 exactlyPsychological + structural level
Session + FibonacciPMH is at the 61.8% retracementTechnical + structural confluence
When two or more independent levels converge within a tight price range (less than 0.1% apart), that zone becomes a high-probability reaction point.

Alerts

Session Levels support the following alert rule:
Alert EventDescription
level_touchedPrice reaches within a configurable threshold of any displayed session level
The alert fires for all enabled level types (daily, weekly, monthly). Set appropriate cooldowns to avoid repeated alerts as price oscillates around a level.

Practical Considerations

  • 24/7 markets: Crypto never closes, so “day” is defined by UTC midnight (or your configured session start). There is no official open/close as in equities. The levels are still valid because the majority of traders and algorithms use UTC midnight as the daily boundary.
  • Session start hour: If you trade aligned to a specific session (e.g., US equity hours), change sessionStartHour to match. For example, setting it to 13 (1 PM UTC = 8 AM EST) gives you levels based on the US trading session.
  • First day of data: When the chart first loads, the indicator needs at least one completed period to calculate levels. The very first day/week/month on the chart will not have previous session levels.
  • Visual clutter: Enabling all three periods (day, week, month) plus open levels creates up to 9 horizontal lines. Consider disabling less important levels (e.g., turn off showOpenLevels or showMonthLevels on intraday timeframes) to reduce visual noise.
  • Line persistence: Session levels remain visible for the entire current period. They do not fade or remove themselves intra-session.

Intraday Scalping (1m–5m)

SettingValueReason
showDayLevelstruePrimary reference
showWeekLevelsfalseToo far away for scalp targets
showMonthLevelsfalseToo far away for scalp targets
showOpenLevelstruePDO provides midpoint reference

Day Trading (5m–1h)

SettingValueReason
showDayLevelstruePrimary S/R levels
showWeekLevelstrueContext for larger moves
showMonthLevelsfalseRarely reached intraday
showOpenLevelstrueAll opens provide context

Swing Trading (4h–Daily)

SettingValueReason
showDayLevelsfalseToo granular for multi-day holds
showWeekLevelstruePrimary reference
showMonthLevelstrueMajor targets and levels
showOpenLevelsfalseLess relevant at this timeframe
  • VWAP — Dynamic volume-weighted level that complements static session levels
  • Bollinger Bands — Dynamic volatility-based levels
  • SMA — Dynamic trend-based levels