OPEN-SOURCE SCRIPT
BTC CME Gap – detector & single signals

# BTC CME Gap — Detector & Single Signals (Pine v5)
**What it does**
This indicator finds the **weekend gap** on **CME Bitcoin futures** and turns it into a clean, tradable object:
* Draws a **gap zone** (Friday close ↔ Monday open) as a right-extending box.
* Fires **one-time signals** per gap:
* **ENTER** – first touch of the gap zone by price.
* **FILL** – gap is considered filled when price tags **Friday’s close**.
It works on any BTC chart (spot or futures). The gap itself is calculated from **CME\:BTC1!** daily data.
---
## How it works
1. Pulls **daily** `open`/`close` from `CME:BTC1!` (`request.security`, no lookahead).
2. On **Monday**, compares Monday **open** with previous **Friday close**:
* If different → a **gap** exists.
3. Defines the zone:
* `gapTop = max(MonOpen, FriClose)`
* `gapBot = min(MonOpen, FriClose)`
4. Renders a box + boundary lines, **extending right** until price action resolves it.
5. Signals:
* **ENTER**: the first bar that **enters** the gap zone.
* **FILL**: first bar that **touches Friday close** (gap completion).
6. Each new Monday gap **replaces** the previous box and signals.
---
## Inputs
* **CME symbol** (default `CME:BTC1!`)
* **Gap timeframe** (default `D`)
* **Colors** for the box and edges
---
## Plot & Signals
* **Box** = visual gap zone (transparent fill, outlined).
* **ENTER** = triangle up below bar.
* **FILL** = triangle down above bar.
* Optional label prints **Top / Bottom / Fill** levels.
---
## Notes on behavior
* Uses `barmerge.lookahead_off` and daily aggregation, so the gap definition **does not repaint** once Monday’s daily bar is confirmed.
* Signals are **single-shot** per gap (no clutter).
* Works on any chart timeframe; the gap logic always references **CME daily**.
---
## Practical use
* Track obvious **“magnets”** for mean-reversion, stop-runs, or liquidity grabs.
* Combine with your higher-timeframe bias (e.g., **1D trend filter**) and execution on **4H/1H**.
* Typical outcomes: quick Monday fill, staged fill after partial rejection, or delayed fill during later consolidation.
---
## Customization ideas
* Add `alertcondition(enterSignal, …)` / `alertcondition(fillSignal, …)` for automation.
* Gate trades with trend filters (EMA/SMA, Kernel regression, ADX) or session tools (VWAP/POC).
* Persist multiple historical gap boxes if you want to track **unfilled** gaps.
---
**Credits**: Built for BTC CME weekend gaps; minimal, publication-ready visualization with single-event signals to keep charts clean.
**What it does**
This indicator finds the **weekend gap** on **CME Bitcoin futures** and turns it into a clean, tradable object:
* Draws a **gap zone** (Friday close ↔ Monday open) as a right-extending box.
* Fires **one-time signals** per gap:
* **ENTER** – first touch of the gap zone by price.
* **FILL** – gap is considered filled when price tags **Friday’s close**.
It works on any BTC chart (spot or futures). The gap itself is calculated from **CME\:BTC1!** daily data.
---
## How it works
1. Pulls **daily** `open`/`close` from `CME:BTC1!` (`request.security`, no lookahead).
2. On **Monday**, compares Monday **open** with previous **Friday close**:
* If different → a **gap** exists.
3. Defines the zone:
* `gapTop = max(MonOpen, FriClose)`
* `gapBot = min(MonOpen, FriClose)`
4. Renders a box + boundary lines, **extending right** until price action resolves it.
5. Signals:
* **ENTER**: the first bar that **enters** the gap zone.
* **FILL**: first bar that **touches Friday close** (gap completion).
6. Each new Monday gap **replaces** the previous box and signals.
---
## Inputs
* **CME symbol** (default `CME:BTC1!`)
* **Gap timeframe** (default `D`)
* **Colors** for the box and edges
---
## Plot & Signals
* **Box** = visual gap zone (transparent fill, outlined).
* **ENTER** = triangle up below bar.
* **FILL** = triangle down above bar.
* Optional label prints **Top / Bottom / Fill** levels.
---
## Notes on behavior
* Uses `barmerge.lookahead_off` and daily aggregation, so the gap definition **does not repaint** once Monday’s daily bar is confirmed.
* Signals are **single-shot** per gap (no clutter).
* Works on any chart timeframe; the gap logic always references **CME daily**.
---
## Practical use
* Track obvious **“magnets”** for mean-reversion, stop-runs, or liquidity grabs.
* Combine with your higher-timeframe bias (e.g., **1D trend filter**) and execution on **4H/1H**.
* Typical outcomes: quick Monday fill, staged fill after partial rejection, or delayed fill during later consolidation.
---
## Customization ideas
* Add `alertcondition(enterSignal, …)` / `alertcondition(fillSignal, …)` for automation.
* Gate trades with trend filters (EMA/SMA, Kernel regression, ADX) or session tools (VWAP/POC).
* Persist multiple historical gap boxes if you want to track **unfilled** gaps.
---
**Credits**: Built for BTC CME weekend gaps; minimal, publication-ready visualization with single-event signals to keep charts clean.
Script de código abierto
Siguiendo fielmente el espíritu de TradingView, el creador de este script lo ha publicado en código abierto, permitiendo que otros traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Puede utilizarlo de forma gratuita, pero tenga en cuenta que la publicación de este código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones que ofrecemos, no implican ni constituyen un asesoramiento financiero, ni de inversión, trading o cualquier otro tipo de consejo o recomendación emitida o respaldada por TradingView. Puede obtener información adicional en las Condiciones de uso.
Script de código abierto
Siguiendo fielmente el espíritu de TradingView, el creador de este script lo ha publicado en código abierto, permitiendo que otros traders puedan revisar y verificar su funcionalidad. ¡Enhorabuena al autor! Puede utilizarlo de forma gratuita, pero tenga en cuenta que la publicación de este código está sujeta a nuestras Normas internas.
Exención de responsabilidad
La información y las publicaciones que ofrecemos, no implican ni constituyen un asesoramiento financiero, ni de inversión, trading o cualquier otro tipo de consejo o recomendación emitida o respaldada por TradingView. Puede obtener información adicional en las Condiciones de uso.