Troop Toolkit

The Troop Toolkit indicator by Flux Charts is an all-in-one toolkit to identify Multi-Timeframe First Fair Value Gaps, Multi-Timeframe Inversion First Fair Value Gap, Fair Value Gaps, Buyside & Sellside Liquidity Levels, SMT Divergences, EQ Ranges, Efficient Candle Ranges, and Volume Imbalances. This indicator was developed by Flux Charts, utilizing concepts taught and traded by Andrew Macre.
ATTRIBUTION NOTICE:
This indicator incorporates concepts and source code from the indicator “Efficient Candle Range (ECR)” authored by joeyheick on TradingView. We have received full written permission from the original author to use and commercialize this code within this invite-only script.
Original script: Efficient Candle Range (ECR): https://www.tradingview.com/script/sqXfjPFB-Efficient-Candle-Range-ECR/
TROOP TOOLKIT FEATURES:
The Troop Toolkit indicator includes 8 main features:
- Multi-Timeframe First Fair Value Gaps (FFVG)
- Multi-Timeframe Inverse First Fair Value Gaps (IFFVGs)
- Fair Value Gaps (FVG)
- Buyside & Sellside Liquidity Levels
- SMT Divergences
- EQ Ranges (EQR)
- Efficient Candle Ranges (ECR)
- Volume Imbalances (VI)
Multi-Timeframe First Fair Value Gaps (FFVG):
The first feature of this indicator is Multi-Timeframe First Fair Value Gaps (FFVG). These are the first Fair Value Gaps (FVG) that form after a swing high or low is created.
🔹What is a Fair Value Gap?:
To properly understand First Fair Value Gaps (FFVGs), you must understand what a Fair Value Gap (FVG) is. A FVG is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it. A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all. A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
Examples of Bullish & Bearish FVGs:
🔹Why are Fair Value Gaps important?:
Fair Value Gaps show where price moved so quickly that one side of the market never got a chance to trade. They represent sudden shifts in what traders believe something is worth, where “fair value” changed. When a large candle drives straight through an area without overlap from the candles before and after it, it means buyers or sellers were so aggressive that the market skipped that price zone entirely.
These gaps matter because they mark the moment when confidence in price changes. If price rallies and never pulls back, it signals that traders accept the new higher prices as fair and are willing to keep buying there. The same logic applies in reverse for bearish gaps. They tell you where the market re-priced aggressively and where value was last accepted.
🔹What is a First Fair Value Gap?:
A First Fair Value Gap is the very first fair value gap that forms immediately after a new swing high or swing low. It marks the first sign of imbalance following a key turning point in price.
When a major swing low forms, the first bullish FVG that appears afterward shows where buyers first stepped in with enough strength to shift momentum upward. When a swing high forms, the first bearish FVG that appears afterward shows where sellers first regained control.
Because it’s tied directly to a confirmed swing point, an FFVG carries more weight than a regular FVG that forms randomly in the middle of a large move. It identifies where a new phase of price delivery begins, which is the first sign that the market is repricing after completing a prior leg.
🔹How are First Fair Value Gaps Detected?:
The indicator identifies First Fair Value Gaps (FFVGs) by starting with a swing high or swing low, which is detected using the 5-minute timeframe.
A swing high is formed when a candle’s high is higher than the two candles before and after it.
A swing low is formed when a candle’s low is lower than the two candles before and after it.
Each time a new swing high or low is confirmed, the indicator marks that area as a “pivot.” From that moment, the script begins looking for the first valid Fair Value Gap that forms after that swing.
To identify a First Fair Value Gap (FFVG), you should first identify a swing high and swing low. These are the most recent highest and lowest areas price reached. A bullish FFVG is the first bullish FVG that forms after a swing low. A bearish FFVG is the first bearish FVG that forms after a swing high.
This indicator automatically detects bullish and bearish FFVGs across the 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute timeframes simultaneously. You will only be able to view FFVGs from timeframes that are equal to or less than your chart’s timeframe. For example, if you are using a 3-minute chart, you’ll only be able to view 1-minute, 2-minute, and 3-minute FFVGs, but not 4-minute or 5-minute FFVGs.
In the indicator settings, under the “FFVGs” section, you can toggle on/off which timeframes are used for FFVG detections. The following settings correspond to the following timeframes:
1 → 1-minute timeframe
2 → 2-minute timeframe
3 → 3-minute timeframe
4 → 4-minute timeframe
5 → 5-minute timeframe
In this screenshot, the chart timeframe is set to the 5-minute, and all the FFVG timeframes are enabled in the settings. Thus, 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute FFVGs will be displayed on the chart.
The ‘Sweep Proximity’ setting determines how soon after a swing high/low the indicator will show the First Fair Value Gap. After a high/low forms, the indicator looks for the very first gap that forms and shows it, but only if it appears within the number of bars you choose. This distance is measured using your current chart timeframe. For example, on a 1-minute chart, a value of 6 means the FFVG must form within 6 bars (6 minutes) after the high/low is detected. Smaller values show only the most immediate FFVGs after a high/low forms. Larger values allow FFVGs to be detected farther away from the high/low, which may display more zones but can increase chart clutter. The default value is 6.
Users can also customize how FFVG zones appear. The settings let you change the color and transparency of bullish and bearish FFVGs, turn the midline on or off, and enable or disable FFVG labels. When labels are enabled, they show the timeframe the FFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Multi-Timeframe Inversion First Fair Value Gaps (IFFVG):
The second feature of this indicator is Multi-Timeframe Inversion First Fair Value Gaps (IFFVG). These form when a FFVG is invalidated by a candle close on the 5-minute timeframe.
- Bullish IFFVG: A bullish IFFVG forms when a 5-minute candle closes above a bearish FFVG, invalidating it.
- Bearish IFFVG: A bearish IFFVG forms when a 5-minute candle closes below a bearish FFVG, invalidating it.
The IFFVGs will be displayed from all the timeframes that are enabled for FFVGs. For example, if only the 1-minute, 2-minute, and 3-minute FFVGs are enabled, then only IFFVGs from the 1-minute, 2-minute, and 3-minute timeframes will be displayed.
Users can also customize how IFFVG zones appear. The settings allow you to change the color and transparency of bullish and bearish IFFVGs, adjust the color of IFFVG borders, the thickness of the borders, turn the midline on or off, and enable or disable IFFVG labels. When labels are enabled, they show the timeframe the IFFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Fair Value Gaps (FVG):
The indicator automatically detects regular bullish and bearish Fair Value Gaps (FVG). However, the indicator only plots FVGs that are NOT First Fair Value Gaps. This prevents FVGs and FFVGs from overlapping each other. There is no style customization for Fair Value Gaps. Users can only toggle them on or off through the indicator settings.
Liquidity Levels:
The indicator automatically plots Buyside & Sellside liquidity levels using user-specific session highs/lows and swing highs/lows.
Sessions used and their time periods (in EST):
- Asia Session (20:00 - 00:00)
- London Session (02:00 - 05:00)
- NY AM Session (09:30 - 11:00)
- NY PM Session (14:00 - 16:00)
All highs/lows that have not been ‘swept’, meaning price never crosses above (for highs) or below (for lows), will remain plotted on the chart. After a level is swept, it will become gray.
Swing Highs/Lows are plotted using the color selected from the ‘Colors’ setting under the ‘Liquidity Levels’ section. These levels are plotted with the following labels “[Timeframe] SSL” for lows and “[Timeframe] BSL” for highs. For example, “5M SSL” would be a 5-minute low.
The Asia Session Highs/Lows are plotted yellow with the following labels “Asia Low” & “Asia High”
The London Session Highs/Lows are plotted green with the following labels “London Low” & “London High”
The NY AM Session Highs/Lows are plotted orange with the following labels “NY AM Low” & “NY AM High”
The NY PM Session Highs/Lows are plotted blue with the following labels “NY PM Low” & “NY PM High”
Users can toggle these levels on/off, toggle session highs/lows on/off, toggle text labels on/off, and customize the colors used for swing highs/lows.
SMT Divergence:
This indicator automatically highlights SMT Divergences that occur between the current selected chart ticker and a second user-selected ticker.
A SMT Divergence forms when the prices of the currently selected chart ticker and the user-selected ticker don’t follow each other. For example, if the current chart’s ticker symbol is NNQ and the user-selected ticker is $ES. If NNQ does not sweep the low of the NY AM Session, but
In the images below, NNQ and
NNQ Chart:
When hovering over the SMT Divergence bubble, a textbox will appear which includes more information about the current SMT Divergence. These text boxes can include one of the following messages:
- $TICKER failed high/low
- $TICKER took high/low
- $TICKER failed [Session] high/low
- $TICKER took [Session] high/low
“$TICKER failed high/low” and “$TICKER failed [Session] high/low”: This textbox message occurs when the chart’s symbol creates a new high/low after a high/low formed, but the user-selected ticker fails to create a new higher high or lower low (similar to the NNQ and
“$TICKER took high/low” and “$TICKER took [Session] high/low”: This textbox image occurs when the user-selected ticker creates a new higher high / lower low after a high/low formed, but the chart’s ticker fails to create a new higher high or lower low.
The indicator uses the levels described above in the ‘Liquidity Levels’ section to detect SMT Divergences. This includes all the session highs/lows and swing highs/lows.
Users can toggle on/off SMT Divergences through the settings. They can also change the ticker used for detections. Since SMT Divergences occur by comparing two tickers, the inputted ticker within the settings will always be compared to the current selected ticker on your chart.
Users can also adjust the colors used for SMT Divergence bubbles at highs and lows. By default, green bubbles appear when an SMT Divergence occurs from a low, and red bubbles appear when an SMT Divergence occurs from a high.
EQ Range:
The EQ Range shows you where price is finding fair value during the New York session. It does this by comparing two VWAP levels: one influenced by global trading and one driven by New York session volume. When both are available, it plots a live zone between them.
This zone updates every bar and extends to the right, so you can see where price may consolidate, stall, or snap back toward during the New York session. The EQ Range only appears during the New York session.
Within the indicator settings, users can toggle the EQ Range zone on/off.
Efficient Candle Range:
Efficient Candle Ranges (ECR) mark areas where the market is moving smoothly without one side (buyers or sellers) moving price aggressively. An “efficient candle” is simply a candle where the body is small compared to the whole candle and the wicks are fairly similar in size. That means buyers and sellers both participated, and price wasn’t pushed too far in either direction.
When one of these candles forms, the indicator creates a zone using its high and low. If more efficient candles appear in a row, the zone can widen to include any new highs or lows they create. The box continues to extend forward as long as price stays inside it.
If price closes outside the top or bottom of the box, the zone is no longer active and visually fades out. While active, it shows where the market is moving in a controlled way, which typically leads to pauses, retests, or a strong move once price breaks out of the range.
Within the indicator settings, users can customize the active ECR zone color, inactive ECR zone colors, and the text color for ECR labels. ECRs can be toggled on/off as well.
Volume Imbalance:
A Volume Imbalance forms when one candle does not properly overlap the trading range of the previous candle. For example, if a bullish candle opens above the previous candle’s close and price did not trade back down into that gap, there was no two-way trade in that price region. That means sellers never had a chance to transact there. The same applies in reverse for bearish moves. When that happens, there is a “missing volume” zone between the two candles because one side of the auction was skipped.
When the indicator detects that kind of gap, where the open and close relationship between two candles leaves untraded space, it marks that area with a box labeled “VI.” A bullish volume imbalance means buyers pushed through a level without sellers trading back into it. A bearish volume imbalance means sellers drove price lower without buyers filling in behind them.
Once price has fully filled the gap, meaning it traded back between the area that was skipped, the gap is deemed as inactive and removed from the chart.
In the settings, users can toggle on/off Volume Imbalances and also adjust the colors for Bullish VIs and Bearish VIs.
Important Notes:
TradingView has limitations when running features on multiple timeframes, such as FFVGs and IFFVGs, which can result in the following restriction:
Computation Error:
The computation of using MTF features is very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
UNIQUENESS:
The Troop Toolkit indicator solves a major workflow problem that has never been automated before on TradingView. The most important piece: automatic detection of First Fair Value Gaps (FFVGs) and their proper conversion into Inversion First Fair Value Gaps (IFFVGs). These two concepts require strict rules, swing validation, multi-timeframe comparison, and invalidation logic that traders can currently only do manually. There is no other indicator on TradingView that handles FFVG + IFFVG logic correctly across multiple intraday timeframes at once. Before this tool was created, traders had to manually scan five different timeframes every day and track every first fair value gap that formed after a significant high/low was formed. This took hours each week and was prone to inconsistencies. Troop Toolkit automates the entire process with clear validation rules, making this the first indicator to fully operationalize FFVG + IFFVG workflow.
Invite-only script
Only users approved by the author can access this script. You'll need to request and get permission to use it. This is typically granted after payment. For more details, follow the author's instructions below or contact fluxchart directly.
TradingView does NOT recommend paying for or using a script unless you fully trust its author and understand how it works. You may also find free, open-source alternatives in our community scripts.
Author's instructions
Join our Discord community: discord.gg/FluxCharts
Disclaimer
Invite-only script
Only users approved by the author can access this script. You'll need to request and get permission to use it. This is typically granted after payment. For more details, follow the author's instructions below or contact fluxchart directly.
TradingView does NOT recommend paying for or using a script unless you fully trust its author and understand how it works. You may also find free, open-source alternatives in our community scripts.
Author's instructions
Join our Discord community: discord.gg/FluxCharts