# Futures Roll Dates

Futures Roll Dates is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

Tracks the futures roll from the chart's own root: front and next contract volume print side by side with open interest lines, the scheduled window ahead of quarterly or monthly expirations is shaded, and markers stamp the day volume leadership passes and the day open interest migrates. A dashboard adds the roll spread, curve state and a front OI collapse check, plus splice-gap warnings on continuous charts.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Jul 11, 2026.
- Access: free.
- Concepts: [Futures Roll Dates](https://www.luxalgo.com/library/concept/futures-roll-dates/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=zk86mooa2inj8nq61x53l96a
- Page: https://www.luxalgo.com/library/indicator/futures-roll-dates/

**Futures Roll Dates** builds the roll mechanism into one pane from the chart's own futures root, the concept's first dedicated build. Front and next contract volume print side by side with open interest lines, the scheduled window ahead of expiration is shaded, and the two data-driven markers of [futures roll dates](https://www.luxalgo.com/library/concept/futures-roll-dates/) (the next month out-trading the front, and open interest migrating) are stamped as they occur. A dashboard adds roll spread, curve state and a front-month OI collapse check.

## How to Trade the Futures Roll Dates?

- **ROLL marker**: the next contract out-trading the expiring one is the classic sign the roll has happened. Execution in the abandoned front month decays within days.
- **OI marker**: open interest crossing into the next month confirms positions migrated rather than day-traded.
- **Window shading**: two contracts share the flow inside the window. Read surges and gaps there accordingly.
- **Gap diamonds**: a large new-session gap inside the roll context on a continuous chart is flagged as a possible splice artifact. Verify the vendor's adjustment method before trusting it.

## Futures Roll Dates Settings

- **Roll Schedule** (default Quarterly (equity index)): the third-Friday quarterly cycle, the monthly commodity cycle, or Off for data-driven detection only.
- **Roll Window Length (Days)** (default 8): days shaded ahead of the anchor.
- **Volume Noise Floor (Contracts)** (default 100): minimum next-month volume before the trigger fires.
- **Front OI Peak Lookback (Days)** (default 20) and **Front OI Collapse Threshold (%)** (default 25): the front-month collapse check.
- **Gap ATR Length** (default 14) and **Gap Flag Threshold (x ATR)** (default 1.0): the splice-gap flag.
- Display: **Contract Volume Columns**, **Open Interest Lines**, **Roll Event Markers**, **Flag Roll-Window Gaps On Chart** plus both **Shade Roll Window** toggles and the **Dashboard** (all on).

## Frequently Asked Questions

### How does this differ from Expiration Effects?

[Expiration Effects](https://www.luxalgo.com/library/indicator/expiration-effects/) measures how sessions behave around the options calendar on any symbol. This build tracks the contract mechanics: who carries volume and open interest, the roll spread, and whether a continuous chart's gaps are genuine.

### Which symbols does it work on?

Futures charts. The front and next tickers derive from the chart's root, so it runs on a continuous chart, a dated contract, or either month mid-roll. Without contract data the dashboard says so.

### What does contango mean on the dashboard?

The next contract pricing above the front. Rolling a long there pays the spread; backwardation returns it as roll yield, a return component separate from the spot path.

## Related indicators

- [Sessions](https://www.luxalgo.com/library/indicator/sessions/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/sessions.md
- [Session Sweeps](https://www.luxalgo.com/library/indicator/session-sweeps/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-sweeps.md
- [ICT Killzones](https://www.luxalgo.com/library/indicator/ict-killzones/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/ict-killzones.md
- [Session Volume Moving Average](https://www.luxalgo.com/library/indicator/session-volume-moving-average/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-volume-moving-average.md
- [FVG Sessions](https://www.luxalgo.com/library/indicator/fvg-sessions/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/fvg-sessions.md
- [Session Streaks](https://www.luxalgo.com/library/indicator/session-streaks/) (Trading Sessions): markdown at https://www.luxalgo.com/library/indicator/session-streaks.md
- [Volume Surprise](https://www.luxalgo.com/library/indicator/volume-surprise/) (Intraday Time-of-day Effects): markdown at https://www.luxalgo.com/library/indicator/volume-surprise.md
- [Volume by Time](https://www.luxalgo.com/library/indicator/volume-by-time/) (Intraday Time-of-day Effects): markdown at https://www.luxalgo.com/library/indicator/volume-by-time.md

---

Source: https://www.luxalgo.com/library/indicator/futures-roll-dates/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
