Skip to main content
AuctionFoundry
Menu

INDICATOR MANUAL

Fair value gap (FVG) indicatorFVG Confluence [AFD] · full manual · published to TradingView

Read confirmed gaps, optional order blocks, higher-timeframe overlap provenance, lifecycle states, and alerts.

77 documented settingsPublished on TradingView · Jul 25, 2026 · Updated Aug 11, 2026

Start here

What the indicator does, the questions it can help answer, and its fresh-install defaults.

Chart-timeframe FVGs and order blocks are standalone drawings. The confluence engine instead compares zones from two selected higher timeframes; both must be higher than the chart timeframe and different from each other.

A confluence band requires positive same-direction overlap that meets the configured minimum measured from confirmed TF1 ATR, with a minimum-tick floor. Its label preserves the contributing timeframes and zone types.

Pure FVG overlaps can report penetration through FRESH, TESTED, PARTIAL, and FILLED states. Mixed FVG/order-block evidence is STATIC because it has no shared pure-FVG fill cycle to measure, and reaches FILLED once its FVG side fully traverses.

Fresh-install defaults11 documented defaults

Swipe or scroll horizontally to see every column.

FVG Confluence fresh-install defaults
AreaDefaultResult
Chart FVGsOnChart FVG detection and drawings start active, so gaps appear and the FVG formed alert is reachable without opening settings.
Chart Order BlocksOffOrder Blocks do not start enabled. Breakers are shown only after the feature is turned on.
FVG detectionWick · ATR · 0.05Uses a 0.05 × ATR minimum gap and wick-based lifecycle when chart FVGs are enabled.
MTF comparisonOn · Auto × AutoAuto tracks the chart timeframe, resolving to the first and second standard step above it, including on Weekly and Monthly charts. Raw HTF drawings start hidden.
Raw HTF lifecyclePartial fill on · FILLED hiddenTF1 and TF2 raw boxes can shrink, but 100% filled raw zones remain hidden by default.
Confluence inputsFVG onlyInclude Order Blocks in confluence starts off, so default bands use FVG × FVG evidence.
Confluence displayLabels, state, age, and partial fill onFRESH, TESTED, and PARTIAL show; 100% FILLED bands start hidden.
Label sizesFVG Medium · MTF NormalConfluence label size is set separately under Visuals.
50% midpoint (CE)On · chart, raw HTF, and bandsA dashed gray line marks the original 50% level on all three surfaces. It is anchored to the original gap, so partial-fill shrinking never moves it.
DashboardOn · Top right · SmallReports the nearest active confluence band, or the nearest active chart FVG when no band currently qualifies.
Confluence alertsAll four armedBand formed, Price entered, Reached 50%, and Filled are enabled; they still require a TradingView alert created with Any alert() function call.

How it works

How the indicator turns chart data into the states and drawings you see.

Chart FVG detection

A confirmed three-candle gap must meet the ATR or tick minimum. The selected Wick or Close basis governs test, midpoint, full-fill, and confluence-break measurements.

Chart Order Blocks

When enabled, the indicator locates the last opposite candle before a confirmed swing break. Crossed blocks can flip to BREAKER; optional partial fill shrinks their near edge as penetration advances.

Confirmed HTF references

Each selected timeframe has its own completed-bar event engine for FVGs and order blocks. Raw drawing type filters are visual only and do not remove a zone from confluence pairing. The higher-timeframe order-block engine carries its own swing strength and candle lookback under MTF Structure, so chart Order Block settings no longer silently change which HTF blocks feed confluence.

Auto comparison timeframes

Compare timeframe 1 and 2 both default to Auto, which resolves to the first and second standard timeframe step above the chart. Moving the chart timeframe moves the comparison pair with it, so the pair stays higher than the chart without being re-picked by hand. A fixed timeframe can still be chosen for either slot.

50% midpoint line

The consequent-encroachment level can be drawn on chart zones, raw higher-timeframe zones, and confluence bands, each toggled independently. The line is anchored to the original gap rather than the drawn box, so it stays on the level the MITIGATED state already measures against even after partial fill shrinks the display.

Dashboard

A compact panel reports the nearest active confluence band, falling back to the nearest active chart FVG when no band qualifies: source timeframes or chart-only, direction, state, fill percentage, and age. Every row restates something already drawn on the chart. None of it is a signal, score, probability, or forecast.

Confluence qualification

TF1 and TF2 zones must point in the same direction and share positive price territory. The overlap must meet the TF1 ATR threshold, which is fixed when the band forms so a later ATR change does not retroactively remove it. The chart timeframe is not a third confluence input.

Lifecycle and fill

Chart and raw HTF FVGs use FRESH, TESTED, MITIGATED, and FILLED. Pure confluence bands use FRESH, TESTED, PARTIAL, and FILLED. States latch forward instead of regressing after deeper penetration.

Provenance and density

Labels identify direction, contributing timeframes, zone kinds, state, fill, and age. Band color can also reflect whether one, two, or three-plus active same-direction confluence records overlap its price territory.

Drawing-only transforms

Partial-fill shrinking, raw-zone type filters, state visibility, age formatting, and label placement change the rendered view. External labels keep their zone price when space allows, then use collision-aware columns and vertical tiers; text can temporarily clear when no legible slot remains while the zone anchor and available tooltip stay in place. None of this rewrites zone identity or confluence provenance.

Output and state reference9 documented states

Swipe or scroll horizontally to see every column.

FVG Confluence outputs and states
Output or stateWhen it appearsMeaning
FRESH0% penetrationPrice has not entered the FVG or pure confluence band.
TESTED>0% and <50%Price entered but has not reached the original midpoint.
MITIGATED50% to <100%A chart or raw HTF zone reached its original midpoint.
PARTIAL50% to <100%A pure confluence band reached its overlap midpoint.
FILLED100%Price fully traversed the original zone or overlap; hidden by default in raw and confluence views.
BREAKEROrder block crossedA chart block flipped direction and restarted penetration from its new near edge.
STATICMixed FVG / OB bandThe overlap has provenance but no shared pure-FVG fill cycle to measure. It can still reach FILLED once its FVG side fully traverses.
RAW HTF LABELRaw drawing enabledShows direction, timeframe, kind, lifecycle state, and fill percentage.
CONFLUENCE LABELQualifying overlapShows contributing timeframes, kinds, state, fill, age, and provenance.

Settings

The 77 rows below are the current public settings. They reflect chart FVGs on by default, Auto comparison timeframes, the Midpoint (CE) line group, a separate MTF Structure pair for higher-timeframe order blocks, four confluence alert toggles, and the dashboard.

FVG Drawings11 inputs

Swipe or scroll horizontally to see every column.

FVG Drawings settings and defaults
SettingControlDefaultChoices, limits & availability
Enable FVGsfvg_enableToggleOn—
Max FVGs per sidefvg_maxWhole number12Min 1 · Max 30
Mitigation / fill rulefvg_confirmChoice / textWickWick · Close
Minimum gap filterfvg_min_modeChoice / textATRATR · Ticks
Minimum gapfvg_min_valueDecimal0.05Min 0.0 · Step 0.01
Minimum ticksfvg_min_ticksDecimal1.0Min 1.0
Shrink on partial fillfvg_shrinkToggleOff—
Keep filled FVGsfvg_keep_filledToggleOff—
Show state on FVGfvg_show_stateToggleOff—
FVG bull / bearbull_fvg_colorColorGreen · 82% transparent—
Colorbear_fvg_colorColorRed · 82% transparent—
FVG Labels5 inputs

Swipe or scroll horizontally to see every column.

FVG Labels settings and defaults
SettingControlDefaultChoices, limits & availability
Show % filledfvg_pct_showToggleOn—
Label positionfvg_pct_posChoice / textRight of BoxInside Box · Right of Box
Right offset (bars)fvg_pct_offsetWhole number2Min 0 · Max 50
Text sizefvg_pct_sizeChoice / textMediumSmall · Medium · Large
FVG label colorfvg_pct_colorColorWhite—
Order Blocks8 inputs

Swipe or scroll horizontally to see every column.

Order Blocks settings and defaults
SettingControlDefaultChoices, limits & availability
Enable Order Blocksob_enableToggleOff—
Max OBs per sideob_maxWhole number8Min 1 · Max 20
Swing strengthob_swingWhole number5Min 1 · Max 20
OB candle lookbackob_lookbackWhole number10Min 2 · Max 40
Show breakersob_show_breakersToggleOn—
OB partial fillob_partial_fillToggleOff—
OB bull / bearbull_ob_colorColorTeal · 78% transparent—
Colorbear_ob_colorColorMaroon · 78% transparent—
MTF Confluence18 inputs

Swipe or scroll horizontally to see every column.

MTF Confluence settings and defaults
SettingControlDefaultChoices, limits & availability
Enable MTF zonesmtf_enableToggleOn—
Compare timeframe 1mtf_tf1_inputChoice / textAutoAuto · 1 · 3 · 5 · 10 · 15 · 30 · 45 · 60 · 120 · 180 · 240 · 480 · 720 · D · W · M
Compare timeframe 2mtf_tf2_inputChoice / textAutoAuto · 1 · 3 · 5 · 10 · 15 · 30 · 45 · 60 · 120 · 180 · 240 · 480 · 720 · D · W · M
Include TF1 in confluencesrc_tf1ToggleOn—
Include TF2 in confluencesrc_tf2ToggleOn—
Show TF1 raw zonesmtf_show_raw_tf1ToggleOff—
TF1 raw zone typesmtf_raw_tf1_kindChoice / textFVGs and Order BlocksFVGs and Order Blocks · FVGs only · Order Blocks only
TF1 raw partial fillmtf_raw_tf1_partial_fillToggleOn—
Show TF1 100% filled zonesmtf_raw_tf1_show_filledToggleOff—
TF1 colormtf_tf1_colorColorBlue · 75% transparent—
Show TF2 raw zonesmtf_show_raw_tf2ToggleOff—
TF2 raw zone typesmtf_raw_tf2_kindChoice / textFVGs and Order BlocksFVGs and Order Blocks · FVGs only · Order Blocks only
TF2 raw partial fillmtf_raw_tf2_partial_fillToggleOn—
Show TF2 100% filled zonesmtf_raw_tf2_show_filledToggleOff—
TF2 colormtf_tf2_colorColorPurple · 75% transparent—
Max zones per HTF/typemtf_maxWhole number12Min 1 · Max 30
HTF lookback (calendar days)mtf_daysWhole number20Min 1 · Max 365
Show raw HTF labelsmtf_show_raw_labelsToggleOn—
Confluence Evidence18 inputs

Swipe or scroll horizontally to see every column.

Confluence Evidence settings and defaults
SettingControlDefaultChoices, limits & availability
Include Order Blocks in confluenceconfl_include_obsToggleOff—
Minimum overlap (ATR)confl_min_atrDecimal0.05Min 0.0 · Step 0.01
Max confluence bandsconfl_maxWhole number8Min 1 · Max 20
Confluence partial fillconfl_partial_fillToggleOn—
Confluence fill % labelconfl_fill_labelToggleOn—
Show provenance labelsconfl_show_labelsToggleOn—
Show confluence stateconfl_show_stateToggleOn—
Show confluence ageconfl_show_ageToggleOn—
Confluence age formatconfl_age_modeChoice / textChart barsHH:MM:SS · Chart bars
Label spacing (ATR)confl_label_gap_atrDecimal0.75Min 0.25 · Max 2.0 · Step 0.05
Confluence label offset (bars)confl_label_row_barsWhole number3Min 1 · Max 100
FRESHconfl_show_freshToggleOn—
TESTEDconfl_show_testedToggleOn—
PARTIALconfl_show_partialToggleOn—
FILLEDconfl_show_filledToggleOff—
Overlap 1 / 2 / 3+confl_single_colorColorYellow—
Colorconfl_double_colorColorOrange—
Colorconfl_dense_colorColorRed—
Visuals1 input

Swipe or scroll horizontally to see every column.

Visuals settings and defaults
SettingControlDefaultChoices, limits & availability
Label sizevisual_sizeChoice / textNormalTiny · Small · Normal
Midpoint (CE)7 inputs

Swipe or scroll horizontally to see every column.

Midpoint (CE) settings and defaults
SettingControlDefaultChoices, limits & availability
Show 50% midpointce_showToggleOn—
Chart zonesce_show_chartToggleOn—
Raw HTFce_show_htfToggleOn—
Bandsce_show_bandsToggleOn—
Line color / style / widthce_colorColorGray · 25% transparent—
ce style inputce_style_inputChoice / textDashedSolid · Dashed · Dotted
ce widthce_widthWhole number1Min 1 · Max 4
MTF Structure2 inputs

Swipe or scroll horizontally to see every column.

MTF Structure settings and defaults
SettingControlDefaultChoices, limits & availability
HTF swing strengthmtf_ob_swingWhole number5Min 1 · Max 20
HTF OB candle lookbackmtf_ob_lookbackWhole number10Min 2 · Max 40
Alerts4 inputs

Swipe or scroll horizontally to see every column.

Alerts settings and defaults
SettingControlDefaultChoices, limits & availability
Band formedalert_band_formedToggleOn—
Price enteredalert_band_enteredToggleOn—
Reached 50%alert_band_mitigatedToggleOn—
Filledalert_band_filledToggleOn—
Dashboard3 inputs

Swipe or scroll horizontally to see every column.

Dashboard settings and defaults
SettingControlDefaultChoices, limits & availability
Show dashboarddash_showToggleOn—
Positiondash_positionChoice / textTop rightTop right · Top left · Middle right · Bottom right · Bottom left
Text sizedash_sizeChoice / textSmallTiny · Small · Normal

Alerts and limitations

What can notify you, what can change the output, and what the indicator cannot establish.

6 fixed alert conditions

FVG formed

A new chart-timeframe FVG confirmed.

Order Block formed

A new chart-timeframe Order Block confirmed.

Band formed

A new confluence band qualified on a confirmed bar.

Price entered

Price first touched a tracked confluence band.

Reached 50%

A tracked band reached its original overlap midpoint.

Filled

A tracked band was fully traversed.

Limits to keep visible

  • TF1 and TF2 must both be higher than the chart timeframe and must be different; otherwise confluence is unavailable.
  • Confluence means overlapping zone geometry. It is not a probability, quality score, recommendation, or outcome forecast.
  • Close-basis penetration reads chart-bar closes, so lifecycle detail can differ across chart timeframes even when confirmed HTF geometry is unchanged.
  • Raw-zone type filters and partial-fill drawings do not change which records feed confluence.
  • FVG and OB records, confluence bands, boxes, and labels use bounded caps. Older records are removed as those caps are reached.
  • A mixed STATIC band deliberately does not claim the pure-FVG percentage lifecycle, though it can still reach FILLED once its FVG side fully traverses.
  • Label placement responds to the visible price range and zoom. In a crowded area, a label can temporarily keep only its zone anchor while its text is hidden rather than overlapped.
  • Changing symbol, session, timeframe, or available history can change the set of zones and their apparent age.

Troubleshooting

Start with what you see on the chart. Each answer explains the likely cause and the first setting, timeframe, or data condition to check.

Why don’t I see any confluence bands?

A band appears only when two qualifying zones overlap in the same direction. First turn on Enable MTF zones. Then make sure TF1 and TF2 are different, both are higher than the chart timeframe, and an overlap actually exists in the loaded history.

Why did my comparison timeframes move when I changed the chart timeframe?

Both comparison slots default to Auto, which tracks the chart: they resolve to the first and second standard step above whatever timeframe you are on, including on Weekly and Monthly charts. Choose a fixed timeframe in either slot if you want it to stay where you put it.

Why don’t Order Blocks show after I add the indicator?

Order Blocks start turned off. Enable Order Blocks to draw them on the chart. If you also want them to contribute to mixed confluence bands, turn on Include Order Blocks in confluence as a separate step.

Where is the consequent-encroachment (CE) line?

It is drawn by default. The Midpoint (CE) group toggles it independently for chart zones, raw higher-timeframe zones, and confluence bands, and sets its color, style, and width. It marks the original 50% level, so it stays put when partial fill shrinks the drawn box.

Why didn’t the confluence bands change when I changed the raw-zone display?

The TF1 and TF2 raw-zone dropdowns control what you see, not which eligible records feed the overlap calculation. Use them to reduce chart clutter; do not expect them to change confluence.

Why did a fully filled raw zone disappear?

Fully filled TF1 and TF2 zones are hidden by default. Turn on Show TF1/TF2 100% filled zones if you want the completed zone to remain visible. Its record can still be tracked even while the drawing is hidden.

Why is a mixed band labeled STATIC?

That band combines FVG and Order Block evidence. Because the two zone types do not share one fill-percentage lifecycle, the script labels the overlap STATIC instead of showing a misleading percentage.

Why did a label temporarily lose its text?

The chart became too crowded to place every label legibly. The zone anchor stays visible while extra text is hidden. Zoom in, scroll, or reduce nearby labels; the text can return when there is room.

Why does a fresh chart FVG have no 0% label?

With Keep filled FVGs off, a fresh chart-timeframe FVG can remain visible without showing the 0% fill text. The FRESH state still identifies it. Turn on Keep filled FVGs if you want the full percentage lifecycle displayed.

Why is an alert I created from the defaults staying quiet?

Check which kind you created. FVG formed now fires from a fresh install because chart FVGs start on, but Order Block formed still needs Enable Order Blocks turned on first. The four confluence alerts are emitted through alert() instead of a named condition, so they arrive only on an alert created with Any alert() function call.

Risk disclosure

Auction Foundry LLC provides educational charting tools and general market commentary only. This is not investment, financial, legal or tax advice, and nothing here is a recommendation, offer or solicitation to buy or sell any instrument. Auction Foundry is not registered with the SEC as an investment adviser, nor with the CFTC as a commodity trading advisor, and is not an NFA member.

Trading involves risk, including loss of principal. Losses can exceed a modeled stop and, for leveraged or margin products, can exceed the amount initially deposited or invested. Indicators can be wrong, delayed or unsuitable for your circumstances, and past or hypothetical results do not predict future results. Free access does not change any of this. Consider your objectives and consult a licensed professional before acting. Using these tools does not create an advisory or brokerage relationship.

Auction Foundry LLC is an independent publisher and is not affiliated with, endorsed by, or sponsored by TradingView, Inc. “TradingView” is a trademark of TradingView, Inc., used here only to identify the platform our scripts are published on. Scripts are published to TradingView as a community author on the same terms as any other author.

Read the full Risk Disclosure for the dated, versioned document this summarizes.