Confluence Engine
A no-code rule builder inside the indicator settings: combine a trigger event with state filters, an optional confirmation step, and an invalidation rule, and get one high-quality alert instead of ten raw ones.
What it does
Raw events are plentiful: blocks form, gaps fill, sweeps print. The Confluence Engine exists because the tradable moments are the stacked ones: an event happening in the right state, followed by the right reaction. It lets you encode a compound condition like:
“Price enters a bullish OrderBlock that is more than 50% mitigated, while CVMI is oversold, during the New York session; then, within 20 bars, a bullish Sweep confirms.”
…entirely from the settings panel, with the result shown as a yellow chart marker and fired as a single JSON webhook alert named after your rule.
The four-stage pipeline
- 1Trigger
The primary event that starts evaluation: any of the eleven framework events, optionally direction-restricted.
Noneswitches to criteria-only mode: the alert fires once when all criteria first become true, no event needed. - 2Criteria
State filters that must all hold at trigger time: structural trend direction, CVMI zone, price inside an active OB (with minimum fill %), and a session window. Anything set to
Offis ignored. - 3Confirmation (optional)
A second event that must occur within
Max Barsafter a passing trigger. Turns a one-shot alert into a sequence: trigger → wait → confirm. - 4Invalidation (optional)
While waiting for confirmation, this event resets the sequence: OB broken, trend change, or the oscillator crossing its midline.
Trigger events
Available as both trigger and confirmation, each with an Any / Bullish / Bearish direction filter:
- OB Created / OB Tapped / OB Mitigated: the OrderBlock lifecycle from SOMM.
- Exhaustion / Sweep / Failure: the block signals from Signal Hooks.
- Squeeze: single-bar momentum extremes from the Chart Toolkit.
- Shift Detected / Shift Broken: structural shift lifecycle events.
- Trend Change: the structural trend flipping direction.
Criteria filters
| Setting | Default | What it does |
|---|---|---|
| Trend Filter | Off | Require the structural trend (from the Trend Panel engine) to be Bullish or Bearish at trigger time. |
| Oscillator Filter | Off | Require CVMI in a zone: Oversold (≤ Min), Overbought (≥ Max), or Custom Range (between Min and Max). Defaults 30 / 70. |
| Price in OB | Off | Require price to currently sit inside an active OrderBlock: Any, Bullish OB, or Bearish OB. |
| Min OB Fill % | 0 | Additionally require the triggering block to be at least this mitigated. 0 disables. |
| Session Filter | Off | Restrict to a time window (default 0930-1600) in a chosen timezone (Exchange, UTC, or 12 major markets). The active session is highlighted on the chart. |
Confirmation & invalidation
Single-step rules (confirmation set to None) fire immediately when the trigger passes criteria. Multi-step rules open a waiting window of Max Bars (default 20):
- If the confirmation event (with its own direction filter) occurs inside the window, the alert fires.
- If the window expires, the sequence resets silently.
- If the invalidation event (
OB Broken,Trend Change, orOsc Crosses Mid) occurs first, the sequence resets immediately, keeping stale setups from confirming late.
Markers & status table
- Chart Marker (default on, yellow): prints where the full sequence resolved, so you can backtest the rule visually across history before ever creating the alert.
- Status Table (default on): a live pass/fail readout of every active criterion in the bottom-right corner. Invaluable while designing a rule: you see exactly which condition is blocking.
Worked example
The rule from the top of this page, as settings:
Enable Confluence Engine: ✓
Alert Name: NY Bullish Rebalance
Trigger Event: OB Tapped Direction: Bullish
Trend Filter: Off
Oscillator Filter: Oversold Min: 30
Price in OB: Bullish OB Min OB Fill %: 50
Session Filter: ✓ 0930-1600 Timezone: America/New_York
Confirmation Event: Sweep Direction: Bullish
Max Bars: 20
Invalidation Event: OB BrokenCreate one TradingView alert on the indicator with Any alert() function call, and every resolution posts a payload like this to your webhook:
{
"event": "NY Bullish Rebalance",
"ticker": "BTCUSD",
"exchange": "COINBASE",
"tf": "60",
"htf": "180",
"osc": 18.5,
"time": 1779246306000
}Payload fields and alert setup mechanics are documented in Alerts & Webhooks.