This indicator shows/counts/filters gaps on a chart.
There are several versions: Simple, Pro, Advanced and Zones. This is the Pro version. The Differences are listed below.
- Simple: shows/counts gaps, changes color based on gap dir (2 colors), filters out price gaps within session, large gaps, and high gaps
- Pro: +shows all types of gaps, multi color, pro filters (full/partial/overlapping time, price, large, candle, , , weekend gaps within delta ranges)
- Advanced: +session times mask, show/count gaps only for last N bars, +min/max/filled gaps stats, dark mode
- Zones: +shows gaps as dynamic horiz zones
KGB Hunter Pro Gap Exterminator focuses on showing you all possible types of gaps in multiple colors. Gap theory states that price tends to return and fill the gaps,
so you can use it to collect the bounty. You can apply any combination of complex filters to narrow down search results i.e., find only all:
- type 3 gaps up with allowed wick-candle overlapping of up to 10% and
- gap size larger than 200 and
- with at least one of the candles larger than 100 and
- change at least 40 and
- spanning less than 2 bar periods and
- excluding weekend gaps
- highlights gaps using barcolor and plotchar chars (8 colors x 2 dirs)
- supports all 3 types of gap overlapping: full gap (no overlapping), wick-wick and wick-body overlapping up to a specified % of candle body
- finds all types of gaps with pro filters for price, time, large, , timerange, candle size, gaps
- individual show/hide flags for each gap/char based on gap type
- can show/hide gaps/chars based on gap dir
- changes color of gaps/chars based on gap dir/type, multi color gap type combos
- displays chars above/below bar based on gap dir
- can show/hide weekend gaps
- counts all filtered gaps
Basically There are 2 gap types (Price, Time) x 2 directions (Up, Down) x 2 modifiers (Large, ), Gap is a separate class with its own modifiers, so more accurately:
- (Price, Time) x 2 directions (Up, Down) x Large modifier
- (Price , Time ) x 2 directions (Up, Down) x Large modifier
using a total of 16+1 colors or 8+1 base colors + transparency modifier
depending on settings you can highlight gaps using any multi color combo from just 1 to all 16 colors (+1 gray color for weekends).
basic gap = 1 base color with normal transparency
price,time = 2 base colors (including basic gap) with normal transparency (+1 color)
* up,down dir = +2 new base colors with normal transparency (including 2 base colors), with a total of 2*2 = 4 price/time base colors (+2 colors)
* large = same 4 base colors with vivid transparency modifier (+4 colors)
* = +2 new base colors with normal transparency, a separate class (+2 colors)
* * up,down dir = +another 2 new base colors with normal transparency (including 2 base colors), with a total of 2*2 = 4 base colors (+2 colors)
* * large = 4 base colors with vivid transparency modifier (+4 colors)
weekend_gap = gray (+1 color)
gap, candle gap, timerange gap = no special color, inherits color from parent gap type
for more details, please see the Gap Color Hierarchy comments in code
You can find the following gap related terminology in literature: full, partial, extreme, breakaway, runaway/continuation, common, exhaustion gaps.
There are no exact rules to distinguish between them, so this can't be implemented.
When defining a gap it all boils down to how do you plot a gap, which points between adjacent candles do you consider a gap. Different sources apply different methodology
but in practice only 3 types of gap overlapping can exist:
- full gap (no overlapping),
- partial (wick-wick overlapping) and
- extreme partial (wick-body overlapping up to a specified % of a candle body)
All these types are supported in this script. The only possible remaining option is candle-candle overlapping which is not a gap by definition.
Many other script specific subtypes are also supported. Please see description of each gap type below and comments in code.
General display modes
- gap has 3 possible overlapping modes: full gap (no overlapping), wick-wick overlapping, wick-candle overlapping up to a specified % of candle body size (for mode 3 only)
the remaining candle-candle overlapping implies not a gap by definition
full gap mode will find the least amount of gaps, wick-candle - the most
- gap can be either price or time, up or down, and shown above or below the candles (gap chars)
- by definition, a price gap is a smaller subset of a time gap, a gap within current session with a price gap and zero time lag between bars.
Therefore timerange filter is useless for price gaps, but can still be applied.
On the other hand, all price gap filters can be applied to time gaps without any distinction.
- gap can have multiple modifier subtypes: (price|time) * (up|down) * (large? + volume? + doji? + timerange? + weekend?)
i.e. price + large + + or time + large + + timerange + + weekend
- the gap is always counted only once no matter how many subtype modifiers it has
- if the gap does not satisfy any of the applied flags/filters it is not shown/counted (no gap bars/chars are shown)
- gap color can depend on a combo of gap type/dir and modifier subtypes or can be shown in a single base color
- char color can only depend on gap dir (not type/modifiers) or can be shown in a single base color
- char position can also depend on gap dir (above/below) the gap candle. Alternatively you can pin chars to the top/bottom of the screen in UI Styles.
- change_by_type = true - uses gap type base colors (2 colors + optional modifiers, up to 8 colors if and/or large filters are enabled)
- change_by_dir = true - uses gap dir base colors (2 colors + optional modifiers, up to 8 colors if and/or large filters are enabled)
- both change_by_type and change_by_dir = true - uses both gap type and dir base colors (4 colors + optional modifiers, up to 16 colors if and/or large filters are enabled)
- both change_by_type and change_by_dir = false - uses a single base gap color (1 color)
- don't need that much colors - disable filters
- highlight bars has priority over individual gap flags, when it is false all gaps are hidden regardless of their corresponding flag settings (does not affect dim weekend gaps)
- show chars has priority over individual gap char flags, when it is false all char flags are hidden regardless of their corresponding flag settings
- price gaps are only shown/counted when show_price_gaps flag is true. The large or filters can be used to narrow down results further.
- time gaps are only shown/counted when show_time_gaps flag is true. The large, , and timerange filters can be used to narrow down results further.
- gaps are only shown/counted when show_doji_gaps flag is true. The candle size and other filters can be used to narrow down results further.
- show weekend gaps = true and dim weekend gaps = false - shows/counts weekend gaps
- show weekend gaps = true and dim weekend gaps = true - dims weekend gaps, doesn't show/count weekwend gaps
- show/dim weekend gaps do just that - show the gap if it happens on a weekend, not all weekends
- large gaps are only shown/counted when the large filter is enabled != 0. positive values 5 (>= 5), negative -5 (<=5) are used to switch between <>
- gaps are only shown/counted when the filter is enabled != 0. positive values 5 (>= 5), negative -5 (<=5) are used to switch between <>
- timerange gaps are only shown/counted when the timerange filter is enabled != 0. positive values 5 (>= 5), negative -5 (<=5) are used to switch between <>
- candle size gaps are only shown/counted when the candle size filter is enabled != 0. positive values 5 (>= 5), negative -5 (<=5) are used to switch between <>
- candle size filter is the only filter with 2 arguments, use_and_for_delta to enable AND condition for the args (OR is the default)
Good Luck! Feel free to explore and learn from the code
here I'm using the exact settings from the main screen above (3 - wick to body overlapping up to 15% mode with candle size at least 100 filter)
if you want full gaps only leave gap overlapping = 1 (full gap, no overlapping between adjacent candles - default) - see the screen below. Gray - weekend gaps
if you use a different chart like BTCUSD LTCUSD ETHUSD and you can't see any full gaps in recent history that's because there aren't any - switch to lower tfs to see them.
Most gaps usually are on 5 min charts, 1H, 4H can also sometimes have gaps
- enable Gap Counter checkbox (red gaps counter is the last/right most indicator argument)
- apply flags/filters
- place the mouse cursor to the right of the last/current bar to see the value of the red counter
screen for reference:
extreme gap 3 overlapping up to 15% of candle body, candle and volume larger than 100, weekends dimmed
show volume gaps > 100 (different set of base colors for volume), dimmed weekends:
volume and large gaps > 100 (vivid set of volume base colors), dimmed weekends:
gaps larger than 200 (vivid set of base colors for large gaps), including weekends:
change gap color based on gap dir only (only red/green gap dir, no gap type colors), ignore gap types, weekends