BINANCE-BYBIT Cross Chart: Spot-Perpetual CorrelationName: "Binance-Bybit Cross Chart: Spot-Perpetual Correlation"
Category: Scalping, Trend Analysis
Timeframe: 1M, 5M, 30M, 1D (depending on the specific technique)
Technical analysis: This indicator facilitates a comparison between the price movements shown on the Binance spot chart and the Bybit perpetual chart, with the aim of discerning the correlation between the two charts and identifying the dominant market trends. It automatically generates the corresponding chart based on the ticker selected in the primary chart. When a Binance pair is selected in the main chart, the indicator replicates the Bybit perpetual chart for the same pair and timeframe, and vice versa, selecting the Bybit perpetual chart as the primary chart generates the Binance spot chart.
Suggested use: You can utilize this tool to conduct altcoin trading on Binance or Bybit, facilitating the comparison of price actions and real-time monitoring of trigger point sensitivity across both exchanges. We recommend prioritizing the Binance Spot chart in the main panel due to its typically longer historical data availability compared to Bybit.
The primary objective is to efficiently and automatically manage the following three aspects:
- Data history analysis for higher timeframes, leveraging the extensive historical data of the Binance spot market. Variations in indicators such as slow moving averages may arise due to differences in historical data between exchanges.
- Assessment of coin liquidity on both exchanges by observing candlestick consistency on smaller timeframes or the absence of gaps. In the crypto market, clean charts devoid of gaps indicate dominance and offer enhanced reliability.
- Identification of precise trigger point levels, including daily, previous day, or previous week highs and lows, which serve as sensitive areas for breakout or reversal operations.
All-Time High (ATH) and All-Time Low (ATL) levels may vary significantly across exchanges due to disparities in historical data series.
This tool empowers traders to make informed decisions by leveraging historical data, liquidity insights, and precise trigger point identification across Binance Spot and Bybit Perpetual market.
Configuration:
EMA length:
- EMA 1: Default 5, user configurable
- EMA 2: Default 10, user configurable
- EMA 3: Default 60, user configurable
- EMA 4: Default 223, user configurable
- Additional Average: Optional display of an additional average, such as a 20-period average.
Chart Elements:
- Session separator: Indicates the beginning of the current session (in blue)
- Background: Indicates an uptrend (60 > 223) with a green background and a downtrend (60 < 223) with a red background.
Instruments:
- EMA Daily: Shows daily averages on an intraday timeframe.
- EMA levels 1h - 30m: Shows the levels of the 1g-30m EMAs.
- EMA Levels Highest TF: Provides the option to select additional EMA levels from the major timeframes, customizable via the drop-down menu.
- "Hammer Detector: Marks hammers with a green triangle and inverted hammers with a red triangle on the chart
- "Azzeramento" signal on TF > 30m: Indicates a small candlestick on the EMA after a dump.
- "No Fomo" signal on TF < 30m: Indicates a hyperextended movement.
Trigger Points:
- Today's highs and lows: Shows the opening price of the day's candlestick, along with the day's highs and lows (high in purple, low in red, open in green).
- Yesterday's highs and lows: Displays the opening price of the daily candlestick, along with the previous day's highs and lows (high in yellow, low in red).
You can customize the colors in "Settings" > "Style".
It is best used with the Scalping The Bull indicator on the main panel.
Credits:
@tumiza999: for tests and suggestions.
Thanks for your attention, happy to support the TradingView community.
In den Scripts nach "gaps" suchen
Market Structure & Liquidity: CHoCHs+Nested Pivots+FVGs+Sweeps//Purpose:
This indicator combines several tools to help traders track and interpret price action/market structure; It can be divided into 4 parts;
1. CHoCHs, 2. Nested Pivot highs & lows, 3. Grade sweeps, 4. FVGs.
This gives the trader a toolkit for determining market structure and shifts in market structure to help determine a bull or bear bias, whether it be short-term, med-term or long-term.
This indicator also helps traders in determining liquidity targets: wether they be voids/gaps (FVGS) or old highs/lows+ typical sweep distances.
Finally, the incorporation of HTF CHoCH levels printing on your LTF chart helps keep the bigger picture in mind and tells traders at a glance if they're above of below Custom HTF CHoCH up or CHoCH down (these HTF CHoCHs can be anything from Hourly up to Monthly).
//Nomenclature:
CHoCH = Change of Character
STH/STL = short-term high or low
MTH/MTL = medium-term high or low
LTH/LTL = long-term high or low
FVG = Fair value gap
CE = consequent encroachement (the midline of a FVG)
~~~ The Four components of this indicator ~~~
1. CHoCHs:
•Best demonstrated in the below charts. This was a method taught to me by @Icecold_crypto. Once a 3 bar fractal pivot gets broken, we count backwards the consecutive higher lows or lower highs, then identify the CHoCH as the opposite end of the candle which ended the consecutive backwards count. This CHoCH (UP or DOWN) then becomes a level to watch, if price passes through it in earnest a trader would consider shifting their bias as market structure is deemed to have shifted.
•HTF CHoCHs: Option to print Higher time frame chochs (default on) of user input HTF. This prints only the last UP choch and only the last DOWN choch from the input HTF. Solid line by default so as to distinguish from local/chart-time CHoCHs. Can be any Higher timeframe you like.
•Show on table: toggle on show table(above/below) option to show in table cells (top right): is price above the latest HTF UP choch, or is price below HTF DOWN choch (or is it sat between the two, in a state of 'uncertainty').
•Most recent CHoCHs which have not been met by price will extend 10 bars into the future.
• USER INPUTS: overall setting: SHOW CHOCHS | Set bars lookback number to limit historical Chochs. Set Live CHoCHs number to control the number of active recent chochs unmet by price. Toggle shrink chochs once hit to declutter chart and minimize old chochs to their origin bars. Set Multi-timeframe color override : to make Color choices auto-set to your preference color for each of 1m, 5m, 15m, H, 4H, D, W, M (where up and down are same color, but 'up' icon for up chochs and down icon for down chochs remain printing as normal)
2. Nested Pivot Highs & Lows; aka 'Pivot Highs & Lows (ST/MT/LT)'
•Based on a seperate, longer lookback/lookforward pivot calculation. Identifies Pivot highs and lows with a 'spikeyness' filter (filtering out weak/rounded/unimpressive Pivot highs/lows)
•by 'nested' I mean that the pivot highs are graded based on whether a pivot high sits between two lower pivot highs or vice versa.
--for example: STH = normal pivot. MTH is pivot high with a lower STH on either side. LTH is a pivot high with a lower MTH on either side. Same applies to pivot lows (STL/MTL/LTL)
•This is a useful way to measure the significance of a high or low. Both in terms of how much it might be typically swept by (see later) and what it would imply for HTF bias were we to break through it in earnest (more than just a sweep).
• USER INPUTS: overall setting: show pivot highs & lows | Bars lookback (historical pivots to show) | Pivots: lookback/lookforward length (determines the scale of your pivot highs/lows) | toggle on/off Apply 'Spikeyness' filter (filters out smooth/unimpressive pivot highs/lows). Set Spikeyness index (determines the strength of this filter if turned on) | Individually toggle on each of STH, MTH, LTH, STL, MTL, LTL along with their label text type , and size . Toggle on/off line for each of these Pivot highs/lows. | Set label spacer (atr multiples above / below) | set line style and line width
3. Grade Sweeps:
•These are directly related to the nested pivots described above. Most assets will have a typical sweep distance. I've added some of my expected sweeps for various assets in the indicator tooltips.
--i.e. Eur/Usd 10-20-30 pips is a typical 'grade' sweep. S&P HKEX:5 - HKEX:10 is a typical grade sweep.
•Each of the ST/MT/LT pivot highs and lows have optional user defined grade sweep boxes which paint above until filled (or user option for historical filled boxes to remain).
•Numbers entered into sweep input boxes are auto converted into appropriate units (i.e. pips for FX, $ or 'handles' for indices, $ for Crypto. Very low $ units can be input for low unit value crypto altcoins.
• USER INPUTS: overall setting: Show sweep boxes | individually select colors of each of STH, MTH, LTH, STL, MTL, LTL sweep boxes. | Set Grade sweep ($/pips) number for each of ST, MT, LT. This auto converts between pips and $ (i.e. FX vs Indices/Crypto). Can be a float as small or large as you like ($0.000001 to HKEX:1000 ). | Set box text position (horizontal & vertical) and size , and color . | Set Box width (bars) (for non extended/ non-auto-terminating at price boxes). | toggle on/off Extend boxes/lines right . | Toggle on/off Shrink Grade sweeps on fill (they will disappear in realtime when filled/passed through)
4. FVGs:
•Fair Value gaps. Represent 'naked' candle bodies where the wicks to either side do not meet, forming a 'gap' of sorts which has a tendency to fill, or at least to fill to midline (CE).
•These are ICT concepts. 'UP' FVGS are known as BISIs (Buyside imbalance, sellside inefficiency); 'DOWN' FVGs are known as SIBIs (Sellside imbalance, buyside inefficiency).
• USER INPUTS: overall setting: show FVGs | Bars lookback (history). | Choose to display: 'UP' FVGs (BISI) and/or 'DOWN FVGs (SIBI) . Choose to display the midline: CE , the color and the line style . Choose threshold: use CE (as opposed to Full Fill) |toggle on/off Shrink FVG on fill (CE hit or Full fill) (declutter chart/see backtesting history)
////••Alerts (general notes & cautionary notes)::
•Alerts are optional for most of the levels printed by this indicator. Set them via the three dots on indicator status line.
•Due to dynamic repainting of levels, alerts should be used with caution. Best use these alerts either for Higher time frame levels, or when closely monitoring price.
--E.g. You may set an alert for down-fill of the latest FVG below; but price will keep marching up; form a newer/higher FVG, and the alert will trigger on THAT FVG being down-filled (not the original)
•Available Alerts:
-FVG(BISI) cross above threshold(CE or full-fill; user choice). Same with FVG(SIBI).
-HTF last CHoCH down, cross below | HTF last CHoCH up, cross above.
-last CHoCH down, cross below | last CHoCH up, cross above.
-LTH cross above, MTH cross above, STH cross above | LTL cross below, MTL cross below, STL cross below.
////••Formatting (general)::
•all table text color is set from the 'Pivot highs & Lows (ST, MT, LT)' section (for those of you who prefer black backgrounds).
•User choice of Line-style, line color, line width. Same with Boxes. Icon choice for chochs. Char or label text choices for ST/MT/LT pivot highs & lows.
////••User Inputs (general):
•Each of the 4 components of this indicator can be easily toggled on/off independently.
•Quite a lot of options and toggle boxes, as described in full above. Please take your time and read through all the tooltips (hover over '!' icon) to get an idea of formatting options.
•Several Lookback periods defined in bars to control how much history is shown for each of the 4 components of this indicator.
•'Shrink on fill' settings on FVGs and CHoCHs: Basically a way to declutter chart; toggle on/off depending on if you're backtesting or reading live price action.
•Table Display: applies to ST/MT/LT pivot highs and to HTF CHoCHs; Toggle table on or off (in part or in full)
////••Credits:
•Credit to ICT (Inner Circle Trader) for some of the concepts used in this indicator (FVGS & CEs; Grade sweeps).
•Credit to @Icecold_crypto for the specific and novel concept of identifying CHoCHs in a simple, objective and effective manner (as demonstrated in the 1st chart below).
CHoCH demo page 1: shifting tweak; arrow diagrams to demonstrate how CHoCHs are defined:
CHoCH demo page 2: Simplified view; short lookback history; few CHoCHs, demo of 'latest' choch being extended into the future by 10 bars:
USAGE: Bitcoin Hourly using HTF daily CHoCHs:
USAGE-2: Cotton Futures (CT1!) 2hr. Painting a rather bullish picture. Above HTF UP CHoCH, Local CHoCHs show bullish order flow, Nice targets above (MTH/LTH + grade sweeps):
Full Demo; 5min chart; CHoCHs, Short term pivot highs/lows, grade sweeps, FVGs:
Full Demo, Eur/Usd 15m: STH, MTH, LTH grade sweeps, CHoCHs, Usage for finding bias (part A):
Full Demo, Eur/Usd 15m: STH, MTH, LTH grade sweeps, CHoCHs, Usage for finding bias, 3hrs later (part B):
Realtime Vs Backtesting(A): btc/usd 15m; FVGs and CHoCHs: shrink on fill, once filled they repaint discreetly on their origin bar only. Realtime (Shrink on fill, declutter chart):
Realtime Vs Backtesting(B): btc/usd 15m; FVGs and CHoCHs: DON'T shrink on fill; they extend to the point where price crosses them, and fix/paint there. Backtesting (seeing historical behaviour):
Weekly Opening GAPThis indicator will plot the weekly opening gap on the chart. The gap will be carried forward until it is closed or the max line count is reached. Additionally the 1/4 levels inside the gap are plotted on the chart as weekly gaps can be large.
The weekly opening gap levels can act as targets and rejection points.
Optionally the script can also carry forward the top and bottom lines of the weekly opening gap for up to the 10 prior gaps. These lines are not removed when the gap is closed.
Time of Day - Volatility Report█ OVERVIEW
The indicator analyses the volatility and reports statistics by the time of day.
█ CONCEPTS
Around the world and at various times, different market participants get involved in the markets. How does this affect the market?
Knowing this gets you better prepared and improves your trading. Here are some ideas to explore:
When is the market busy and quiet?
What time is it the most volatile?
Which pairs in your watchlist are moving while you are actively trading?
Should you adjust your trading time? Should you change your trading pairs?
When does your strategy perform the best?
What entry times do your winners have in common? What about the exit times of your losers?
Is it worth keeping your trade open overnight?
Bitcoin (UTC+0)
Gold (UTC+0)
Tesla, Inc. (UTC+0)
█ FEATURES
Selectable time zones
Display the statistics in your geographical time zone (or other market participants), the exchange time zone, or UTC+0.
Configurable outputs
Output the report statistics as mean or median.
█ HOW TO USE
Plot the indicator and visit the 1H timeframe.
█ NOTES
Gaps
The indicator includes the volatility from gaps.
Calculation
The statistics are not reported from absolute prices (does not favor trending markets) nor percentage prices (does not depict the different periods of volatility that markets can go through). Instead, the script uses the prices relative to the average range of previous days (daily ATR).
Extended trading session
The script analyses extended hours when activated on the chart.
Daylight Saving Time (DST)
The exchange time or geographical time zone selected may observe Daylight Saving Time. For example, NASDAQ:TSLA always opens at 9:30 AM New York time but may see different opening times in another part of the globe (New York time corresponds to UTC-4 and UTC-5 during the year).
Liquidity Hunter - FattyTradesThis indicator is used to automatically identify and plot two forms of liquidity that will be targeted by market makers.
The first form of liquidity is based on multi-time fame highs and lows. It plots 1H, 4H, D, W, & M liquidity on an intraday chart to make it easier to identify. I believe hat liquidity is what drives the market and the most common form of this liquidity can be identified through higher time frame highs and lows. You can use whatever method you prefer to determine which liquidity pool will be targeted. When the liquidity is purged, it will be shown as dotted lines. This should not be used as traditional support/resistance, but rather as targets for the market.
The second form of liquidity is in the form of imbalances or fair value gaps. You can select a higher time frame to be plotted along with the current time frame you're viewing to identify imbalances that will likely be targeted intraday. We know that higher time frame fair value gaps work equally well as targets for market makers. When a higher time frame FVG is broken into, it can also act as a very powerful form of support and resistance. By default, when a fair value gap has been mitigated it will be removed from the chart, however this can be disabled.
Between these two forms of market maker liquidity targets on the chart, it will be easier to formulate a thesis intraday to determine where the market will move. It can help minimize the amount of switching between higher time frames that needs to be done, allowing you to identify targets while trading on your favorite intraday time frame for optimal risk/reward.
In the near future, I will build in alerting mechanism to alert when liquidity on higher time frames as been purged/mitigated.
True Accumulation/Distribution (TG fork)An accumulation/distribution indicator that works better against gaps and with trend coloring.
Accumulation/Distribution was developed by Marc Chaikin to provide insight into strength of a trend by measuring flow of buy and sell volume .
The fact that A/D only factors current period's range for calculating the volume multiplier causes problem with price gaps. They are ignored or even misinterpreted.
True Accumulation/Distribution solves the problem by using True Range instead of only relying on current period's high and low.
Most of the time, True A/D reverts to producing the same values as the original A/D. The difference between True A/D and original A/D can be better seen when a gap has occurred, True A/D has handles it better than Accumulation/Distribution which a bearish close in period's range cause it to misinterpret the strong buy pressure as sell volume
The Moving Average Cloud is simply the filling between the moving average and the True A/D. This feature was inspired by D7R ACC/DIST closed-source indicator, kudos to D7R for making such neat visual indicators (but unfortunately all closed source!).
This indicator was made to extend the original work by adding MTF support and a moving average cloud and coloring.
If you like this indicator, please show the original author RezzaHmt some love:
OHLC Volatility Estimators by @Xel_arjonaDISCLAIMER:
The Following indicator/code IS NOT intended to be a formal investment advice or recommendation by the author, nor should be construed as such. Users will be fully responsible by their use regarding their own trading vehicles/assets.
The embedded code and ideas within this work are FREELY AND PUBLICLY available on the Web for NON LUCRATIVE ACTIVITIES and must remain as is by Creative-Commons as TradingView's regulations. Any use, copy or re-use of this code should mention it's origin as it's authorship.
WARNING NOTICE!
THE INCLUDED FUNCTION MUST BE CONSIDERED AS DEBUGING CODE The models included in the function have been taken from openly sources on the web so they could have some errors as in the calculation scheme and/or in it's programatic scheme. Debugging are welcome.
WHAT'S THIS?
Here's a full collection of candle based (compressed tick) Volatility Estimators given as a function, openly available for free, it can print IMPLIED VOLATILITY by an external symbol ticker like INDEX:VIX.
Models included in the volatility calculation function:
CLOSE TO CLOSE: This is the classic estimator by rule, sometimes referred as HISTORICAL VOLATILITY and is the must common, accepted and widely used out there. Is based on traditional Standard Deviation method derived from the logarithm return of current close from yesterday's.
ELASTIC WEIGHTED MOVING AVERAGE: This estimator has been used by RiskMetriks®. It's calculation is based on an ElasticWeightedMovingAverage Standard Deviation method derived from the logarithm return of current close from yesterday's. It can be viewed or named as an EXPONENTIAL HISTORICAL VOLATILITY model.
PARKINSON'S: The Parkinson number, or High Low Range Volatility, developed by the physicist, Michael Parkinson, in 1980 aims to estimate the Volatility of returns for a random walk using the high and low in any particular period. IVolatility.com calculates daily Parkinson values. Prices are observed on a fixed time interval. n=10, 20, 30, 60, 90, 120, 150, 180 days.
ROGERS-SATCHELL: The Rogers-Satchell function is a volatility estimator that outperforms other estimators when the underlying follows a Geometric Brownian Motion (GBM) with a drift (historical data mean returns different from zero). As a result, it provides a better volatility estimation when the underlying is trending. However, this Rogers-Satchell estimator does not account for jumps in price (Gaps). It assumes no opening jump. The function uses the open, close, high, and low price series in its calculation and it has only one parameter, which is the period to use to estimate the volatility.
YANG-ZHANG: Yang and Zhang were the first to derive an historical volatility estimator that has a minimum estimation error, is independent of the drift, and independent of opening gaps. This estimator is maximally 14 times more efficient than the close-to-close estimator.
LOGARITHMIC GARMAN-KLASS: The former is a pinescript transcript of the model defined as in iVolatility . The metric used is a combination of the overnight, high/low and open/close range. Such a volatility metric is a more efficient measure of the degree of volatility during a given day. This metric is always positive.
Fractal Resonance ComponentLazyBear's WaveTrend port has been praised for highlighting trend reversals with precision and punctuality (minimal lag). But strong "3rd Wave" trends can "embed" or saturate any oscillator flashing several premature crosses while stuck overbought/oversold. This happens when the trend stretches over a longer timescale than the oscillator's averaging window or filter time constant. Our solution: simultaneously monitor many oscillator timescales. Watch for fresh crossovers in "dominant" timescales alternating most smoothly between the overbought (red shade) and oversold (green shade) range.
Fractal Resonance Component facilitates simultaneous viewing of eight timescales that are power of 2 multiples of the chart timescale. Each timescale shows lead line, lag line, lead-lag difference, and crossover marks. Add 4 to 8 copies to your chart for a good multi-fractal read. Format * the "Timescale Multiplier" attribute of each row to be twice that of the row above for a sequence like 1, 2, 4, 8, 16, 32, 64, 128...
Fractal Resonance Component shifts its timescales along with your choice of main chart timescale:
1 minute chart: 1 minute through 128 minute (~2 hour) oscillators.
1 hour chart: 1 hour through 128 hour (~2 week) oscillators.
Daily chart: 1 day through 128 day (~4 month) oscillators.
Crossovers in different oscillator ranges tend to have different meanings:
Minor (< 75%) crossovers: small green/red dot
usually noise
Overbought/Sold crossovers (shaded 75 to 100%): black outlined dot (o)
reliable reversal indicators (when they appear alone)
Extreme Overbought (> 100%) crossovers: black outlined plus (+).
Can be a major reversal in fast markets, but usually portend the end of Elliot 3rd waves with just a small corrective (4th wave) retrace before the larger impulsive (5-wave) sequence resumes in original direction.
The final 5th-wave terminus should appear later as a lone non-extreme (black outlined circle) crossover on a slower timescale coincident with weaker (non-extreme) dot crosses on this timescale.
Careful examination of historical charts leads to many useful observations such as:
Dominant crossovers punctuating true reversals are usually in the green/red shaded ranges with black outlined dots (o) rather than minor or Extreme (+) ranges.
Due to market's fractal nature, two well-separated timescales like 1 minute and 1 hour can show dominant crosses simultaneously in opposite directions, e.g. the 1 minute showing a very short term high and the 1 hour a medium term low nearby.
Staying Nimble
Watch out for embedding on your supposedly dominant timescale -- a second cross while stuck in the overbought/oversold region suggests a stronger, longer trend than expected. Drop your eyes to a slower timescale below for the real dominant whose crossover will validate main trend reversal.
Embedding can often be predicted even at the first cross mark by checking whether the green lead line of the next slower timescale (one row below) has already hit the Overbought or especially the Extreme Overbought range but isn't close to rolling over. Fractal Resonance Bar (to be published) uses this principle to mark embedded timescales with white stripes, warning of a powerful trend wave on longer timescales you shouldn't fight until the white stripes subside.
Overnight gaps surge all timescales in ways that obscure the dominant timescale, so for shorter than daily charts, these methods work best on Futures contracts that only suffer weekend gaps.
MTF Bollinger Bands (2SD & 3SD)
개요
1분봉이나 5분봉 등 하위 타임프레임에서 스캘핑을 할 때, 차트를 변경하지 않고 상위 타임프레임(기본 4시간)의 볼린저 밴드 위치를 확인하기 위해 제작했습니다.
주요 기능
MTF (Multi-Timeframe): 현재 보고 있는 차트와 상관없이 설정한 타임프레임의 볼린저 밴드를 표시합니다. (기본값: 4시간)
듀얼 밴드 시각화 (Dual Zone): 표준편차 2(2SD)와 표준편차 3(3SD)을 동시에 계산합니다.
2SD 영역: 2SD와 3SD의 배경색이 겹치도록 설계하여, 중심부(2SD)가 시각적으로 더 진하게 보입니다. 이는 주요 지지/저항 구간을 직관적으로 보여줍니다.
3SD 영역: 외곽은 연하게 표시되어 과매수/과매도 구간을 식별하기 좋습니다.
끊김 없는 라인: gaps_off 처리를 통해 타임프레임 변경 시 선이 끊기지 않고 부드럽게 연결됩니다.
설정 가이드
Timeframe: 기준이 될 상위 시간대를 선택하세요. (기본: 240분/4시간)
Multiplier: 표준편차 배수를 변경할 수 있습니다. (기본: 2.0 / 3.0)
Transparency: 배경 투명도를 조절해 밴드의 진하기를 변경하세요.
==========================================
Overview
Designed for traders who need to monitor Higher Timeframe (HTF) volatility while scalping on Lower Timeframes (LTF). This indicator overlays HTF Bollinger Bands on your current chart without the need to switch tabs.
Key Features
MTF Capability: Displays Bollinger Bands from any user-defined timeframe. (Default: 4 Hours).
Dual Zone Visualization: Plots both 2 Standard Deviations (2SD) and 3 Standard Deviations (3SD).
Visual Depth: The script utilizes an overlapping fill method. The inner 2SD band appears darker as it layers on top of the 3SD background, clearly highlighting the primary support/resistance zone.
Extreme Zones: The outer 3SD band remains lighter, indicating extreme overbought/oversold conditions.
Seamless Plotting: Uses gaps_off to ensure lines remain continuous across different timeframes.
Settings
Timeframe: Select the target HTF. (Default: 240 / 4H)
Multiplier: Adjust the standard deviation multipliers. (Default: 2.0 & 3.0)
Style: Customize colors and transparency to fit your chart theme.
ARO Pro — Adaptive Regime OscillatorARO Pro — Adaptive Regime Oscillator (v6)
ARO Pro turns your chart into a context-aware decision system. It classifies every bar as Trending (up or down) or Ranging in real time, then switches its math to match the regime: trend strength is measured with an ATR-normalized EMA spread, while range behavior is tracked with a center-based RSI oscillator. The result is cleaner entries, fewer false signals, and faster reads on regime shifts—without repainting.
⸻
How it works (under the hood)
1. Regime Detection (Kaufman ER):
ARO computes Kaufman’s Efficiency Ratio (ER) over a user-defined length.
- ER > threshold → Trending (direction from EMA fast vs. EMA slow)
- ER ≤ threshold → Ranging
2. Adaptive Oscillator Core:
- Trend mode: (EMA(fast) − EMA(slow)) / ATR * 100 → momentum normalized by volatility.
- Range mode: RSI(length) − 50 → mean-reversion pressure around zero.
3. Volatility Filter (optional):
Blocks signals if ATR as % of price is below a floor you set. This reduces noise in thin or quiet markets.
4. MTF Trend Filter (optional & non-repainting):
Confirms signals only if a higher timeframe EMA(fast) > EMA(slow) for longs (or < for shorts). Implemented with lookahead_off and gaps_on.
5. Confirmation & Alerts:
Signals are locked only on bar close (barstate.isconfirmed) and offered via three alert types: ARO Long, ARO Short, ARO Regime Shift.
⸻
What you see on the chart
• Background heat:
• Green = Trending Up, Red = Trending Down, Gray = Range.
• ARO line (panel): Adaptive oscillator (trend/value colors).
• Signal markers: ▲ Long / ▼ Short on confirmed bars.
• Guide lines: Upper/Lower thresholds (±K) and zero line.
• Info Panel (table): Regime, ER, ATR %, ARO, HTF status (OK/BLOCK/OFF), and a Confidence light.
• Debug Overlay (optional): Quick view of thresholds and raw conditions for tuning.
⸻
Inputs (quick reference)
• Signals: Fast/Slow EMA, RSI length, ER length & threshold, oscillator smoothing, signal threshold.
• Filters: ATR length, minimum ATR% (volatility floor), toggle for volatility filter.
• Visuals: Background on/off, Info Panel on/off, Debug overlay on/off.
• MTF (safe): Toggle + HTF timeframe (e.g., 240, D, W).
⸻
Interpreting signals
• Long: Trend regime AND fast EMA > slow EMA AND ARO ≥ +threshold (confirmed bar, filters passing).
• Short: Trend regime AND fast EMA < slow EMA AND ARO ≤ −threshold (confirmed bar, filters passing).
• Regime Shift: Alert when ER moves the market from Range → Trend or flips trend direction.
⸻
Practical use cases & examples
1) Intraday momentum alignment (scalps to day trades)
• Timeframes: 5–15m with HTF filter = 4H.
• Flow:
1. Wait for Trend Up background + HTF OK.
2. Enter on ▲ Long when ARO crosses above +threshold.
3. Stops: 1–1.5× ATR(14) below trigger bar or below last micro swing.
4. Exits: Partial at 1× ATR, trail remainder with an ATR stop or when ARO reverts to zero/Regime Shift.
• Why it works: You’re trading with the dominant higher-timeframe structure while avoiding low-volatility fakeouts.
2) Swing trend following (cleaner trend legs)
• Timeframes: 1H–4H with HTF filter = 1D.
• Flow:
1. Only act in Trend background aligned with HTF.
2. Add on subsequent ▲ signals as ARO maintains positive (or negative) territory.
3. Reduce or exit on Regime Shift (Trend → Range or direction flip) or when ARO crosses back through zero.
• Stops/targets: Initial 1.5–2× ATR; move to breakeven once the trade gains 1× ATR; trail with a multiple-ATR or structure lows/highs.
3) Range tactics (fade the extremes)
• Timeframes: 15m–1H or 1D on mean-reverting names.
• Flow:
1. Act only when background = Range.
2. Fade moves when ARO swings from ±extremes back toward zero near well-defined S/R.
3. Exit at the opposite band or zero line; abort if a Regime Shift to Trend occurs.
• Tip: Increase ER threshold (e.g., 0.35–0.40) to label more bars as Range on choppy instruments.
4) Event days & macro filters
• Approach: Raise the volatility floor (Min ATR%) on macro days (FOMC, CPI).
• Effect: You’ll ignore “fake” micro swings in the minutes leading up to releases and catch only post-event confirmed momentum.
⸻
Parameter tuning guide
• ER Threshold:
• Lower (0.20–0.30) = more Trend bars, more signals, higher noise.
• Higher (0.35–0.45) = stricter trend confirmation, fewer but cleaner signals.
• Signal Threshold (±K):
• Raise to reduce whipsaws; lower for earlier but noisier triggers.
• Volatility Floor (ATR%):
• Thin/quiet assets benefit from a higher floor (e.g., 0.3–0.6).
• Highly liquid futures/forex can work with lower floors.
• HTF Filter:
• Keep it ON when you want higher win consistency; turn OFF for tactical counter-trend plays.
⸻
Alerts (recommended setup)
• “ARO Long” / “ARO Short”: Entry-style alerts on confirmed signals.
• “ARO Regime Shift”: Context alert to scale in/out or switch playbooks (trend vs. range).
All alerts are non-repainting and fire only when the bar closes.
⸻
Best practices & combinations
• Price action & S/R: Use ARO to define when to engage, and price structure to define where (breakout levels, pullback zones).
• VWAP/Session tools: In intraday trends, ▲ signals above VWAP tend to carry; avoid shorts below session VWAP in strong downtrends.
• Risk first: Size by ATR; never let a single ARO event override your max risk per trade.
• Portfolio filter: On indices/ETFs, enable HTF filter and a stricter ER threshold to ride regime legs.
⸻
Non-repaint and implementation notes
• The script does not repaint:
• Signals are computed and locked on bar close (barstate.isconfirmed).
• All higher-timeframe data uses request.security(..., lookahead_off, gaps_on).
• No future indexing or negative offsets are used.
• The Info Panel and Debug overlay are purely visual aids and do not change signal logic.
⸻
Limitations & tips
• Chop sensitivity: In hyper-choppy symbols, consider raising ER threshold and the signal threshold, and enable HTF filter.
• Instrument personality: EMAs/RSI lengths and volatility floor often need a quick 2–3 minute tune per asset class (FX vs. crypto vs. equities).
• No guarantees: ARO improves context and timing, but it is not a promise of profitability—always combine with risk management.
⸻
Quick start (TL;DR)
1. Timeframes: 5–15m intraday (HTF = 4H); 1H–4H swing (HTF = 1D).
2. Use defaults, then tune ER threshold (0.25–0.40) and Signal threshold (±20).
3. Enable Volatility Floor (e.g., 0.2–0.5 ATR%) on quiet assets.
4. Trade ▲ / ▼ only in matching Trend background; fade extremes only in Range background.
5. Set alerts for Long, Short, and Regime Shift; manage risk with ATR stops.
⸻
Author’s note: ARO Pro is designed to be clear, adaptive, and operational out of the box. If you publish variants (e.g., different ER logic, alternative trend cores), please credit the original and document any changes so users can compare behavior reliably.
ETH to RTH Gap DetectorETH to RTH Gap Detector
What It Does
This indicator identifies and tracks custom-defined gaps that form between Extended Trading Hours (ETH) and Regular Trading Hours (RTH). Unlike traditional gap definitions, this indicator uses a specialized approach - defining up gaps as the space between previous session close high to current session initial balance low, and down gaps as the space from previous session close low to current session initial balance high. Each detected gap is monitored until it's touched by price.
Key Features
Detects custom-defined ETH-RTH gaps based on previous session close and current session initial balance
Automatically identifies both up gaps and down gaps
Visualizes gaps with color-coded boxes that extend until touched
Tracks when gaps are filled (when price touches the gap area)
Offers multiple display options for filled gaps (color change, border only, pattern, or delete)
Provides comprehensive statistics including total gaps, up/down ratio, and touched gap percentage
Includes customizable alert system for real-time gap filling notifications
Features toggle options for dashboard visibility and weekend sessions
Uses time-based box coordinates to avoid common TradingView drawing limitations
How To Use It
Configure Session Times : Set your preferred RTH hours and timezone (default 9:30-16:00 America/New York)
Set Initial Balance Period : Adjust the initial balance period (default 30 minutes) for gap detection sensitivity
Monitor Gap Formation : The indicator automatically detects gaps between the previous session close and current session IB
Watch For Gap Fills : Gaps change appearance or disappear when price touches them, based on your selected style
Check Statistics : View the dashboard to see total gaps, directional distribution, and touched percentage
Set Alerts : Enable alerts to receive notifications when gaps are filled
Settings Guide
RTH Settings : Configure the start/end times and timezone for Regular Trading Hours
Initial Balance Period : Controls how many minutes after market open to calculate the initial balance (1-240 minutes)
Display Settings : Toggle gap boxes, extension behavior, and dashboard visibility
Filled Box Style : Choose how filled gaps appear - Filled (color change), Border Only, Pattern, or Delete
Color Settings : Customize colors for up gaps, down gaps, and filled gaps
Alert Settings : Control when and how alerts are triggered for gap fills
Weekend Session Toggle : Option to include or exclude weekend trading sessions
Technical Details
The indicator uses time-based coordinates (xloc.bar_time) to prevent "bar index too far" errors
Gap boxes are intelligently limited to avoid TradingView's 500-bar drawing limitation
Box creation and fill detection use proper range intersection logic for accuracy
Session detection is handled using TradingView's session string format for reliability
Initial balance detection is precisely calculated based on time difference
Statistics calculations exclude zero-division scenarios for stability
This indicator works best on futures markets with extended and regular trading hours, especially indices (ES, NQ, RTY) and commodities. Performs well on timeframes from 1-minute to 1-hour.
What Makes It Different
Most gap indicators focus on traditional open-to-previous-close gaps, but this tool offers a specialized definition more relevant to ETH/RTH transitions. By using the initial balance period to define gap edges, it captures meaningful price discrepancies that often provide trading opportunities. The indicator combines sophisticated gap detection logic with clean visualization and comprehensive tracking statistics. The customizable fill styles and integrated alert system make it practical for both chart analysis and active trading scenarios.
[TehThomas] - ICT Inversion Fair value Gap (IFVG) The Inversion Fair Value Gap (IFVG) indicator is a powerful tool designed for traders who utilize ICT (Inner Circle Trader) strategies. It focuses on identifying and displaying Inversion Fair Value Gaps, which are critical zones that emerge when traditional Fair Value Gaps (FVGs) are invalidated by price action. These gaps represent key areas where price often reacts, making them essential for identifying potential reversals, trend continuations, and liquidity zones.
What Are Inversion Fair Value Gaps?
Inversion Fair Value Gaps occur when price revisits a traditional FVG and breaks through it, effectively flipping its role in the market. For example:
A bullish FVG that is invalidated becomes a bearish zone, often acting as resistance.
A bearish FVG that is invalidated transforms into a bullish zone, serving as support.
These gaps are significant because they often align with institutional trading activity. They highlight areas where large orders have been executed or where liquidity has been targeted. Understanding these gaps provides traders with a deeper insight into market structure and helps them anticipate future price movements with greater accuracy.
Why This Strategy Works
The IFVG concept is rooted in ICT principles, which emphasize liquidity dynamics, market inefficiencies, and institutional order flow. Traditional FVGs represent imbalances in price action caused by gaps between candles. When these gaps are invalidated, they become inversion zones that can act as magnets for price. These zones frequently serve as high-probability areas for price reversals or trend continuations.
This strategy works because it aligns with how institutional traders operate. Inversion gaps often mark areas of interest for "smart money," making them reliable indicators of potential market turning points. By focusing on these zones, traders can align their strategies with institutional behavior and improve their overall trading edge.
How the Indicator Works
This indicator simplifies the process of identifying and tracking IFVGs by automating their detection and visualization on the chart. It scans the chart in real-time to identify bullish and bearish FVGs that meet user-defined thresholds for inversion. Once identified, these gaps are dynamically displayed on the chart with distinct colors for bullish and bearish zones.
The indicator also tracks whether these gaps are mitigated or broken by price action. When an IFVG is broken, it extends the zone for a user-defined number of bars to visualize its potential role as a new support or resistance level. Additionally, alerts can be enabled to notify traders when new IFVGs form or when existing ones are broken, ensuring timely decision-making in fast-moving markets.
Key Features
Automatic Detection: The indicator automatically identifies bullish and bearish IFVGs based on user-defined thresholds.
Dynamic Visualization: It displays IFVGs directly on the chart with customizable colors for easy differentiation.
Real-Time Updates: The status of each IFVG is updated dynamically based on price action.
Zone Extensions: Broken IFVGs are extended to visualize their potential as support or resistance levels.
Alerts: Notifications can be set up to alert traders when key events occur, such as the formation or breaking of an IFVG.
These features make the tool highly efficient and reduce the need for manual analysis, allowing traders to focus on execution rather than tedious chart work.
Benefits of Using This Indicator
The IFVG indicator offers several advantages that make it an indispensable tool for ICT traders. By automating the detection of inversion gaps, it saves time and reduces errors in analysis. The clearly defined zones improve risk management by providing precise entry points, stop-loss levels, and profit targets based on market structure.
This tool is also highly versatile and adapts seamlessly across different timeframes. Whether you’re scalping lower timeframes or swing trading higher ones, it provides actionable insights tailored to your trading style. Furthermore, by aligning your strategy with institutional logic, you gain a significant edge in anticipating market movements.
Practical Applications
This indicator can be used across various trading styles:
Scalping: Identify quick reversal points on lower timeframes using real-time alerts.
Day Trading: Use inversion gaps as key levels for intraday support/resistance or trend continuation setups.
Swing Trading: Analyse higher timeframes to identify major inversion zones that could act as critical turning points in larger trends.
By integrating this tool into your trading routine, you can streamline your analysis process and focus on executing high-probability setups.
Conclusion
The Inversion Fair Value Gap (IFVG) indicator is more than just a technical analysis tool—it’s a strategic ally for traders looking to refine their edge in the markets. By automating the detection and tracking of inversion gaps based on ICT principles, it simplifies complex market analysis while maintaining accuracy and depth. Whether you’re new to ICT strategies or an experienced trader seeking greater precision, this indicator will elevate your trading game by aligning your approach with institutional behavior.
If you’re serious about improving your trading results while saving time and effort, this tool is an essential addition to your toolkit. It provides clarity in chaotic markets, enhances precision in trade execution, and ensures you never miss critical opportunities in your trading journey.
__________________________________________
Thanks for your support!
If you found this idea helpful or learned something new, drop a like 👍 and leave a comment, I’d love to hear your thoughts! 🚀
Make sure to follow me for more price action insights, free indicators, and trading strategies. Let’s grow and trade smarter together! 📈
Bitcoin Block Height (Total Blocks)Bitcoin Block Height by RagingRocketBull 2020
Version 1.0
Differences between versions are listed below:
ver 1.0: compare QUANDL Difficulty vs Blockchain Difficulty sources, get total error estimate
ver 2.0: compare QUANDL Hash Rate vs Blockchain Hash Rate sources, get total error estimate
ver 3.0: Total Blocks estimate using different methods
--------------------------------
This indicator estimates Bitcoin Block Height (Total Blocks) using Difficulty and Hash Rate in the most accurate way possible, since
QUANDL doesn't provide a direct source for Bitcoin Block Height (neither QUANDL:BCHAIN, nor QUANDL:BITCOINWATCH/MINING).
Bitcoin Block Height can be used in other calculations, for instance, to estimate the next date of Bitcoin Halving.
Using this indicator I demonstrate:
- that QUANDL data is not accurate and differ from Blockchain source data (industry standard), but still can be used in calculations
- how to plot a series of data points from an external csv source and compare it with another source
- how to accurately estimate Bitcoin Block Height
Features:
- compare QUANDL Difficulty source (EOD, D1) with external Blockchain Difficulty csv source (EOD, D1, embedded)
- show/hide Quandl/Blockchain Difficulty curves
- show/hide Blockchain Difficulty candles
- show/hide differences (aqua vertical lines)
- show/hide time gaps (green vertical lines)
- count source differences within data range only or for the whole history
- multiply both sources by alpha to match before comparing
- floor/round both matched sources when comparing
- Blockchain Difficulty offset to align sequences, bars > 0
- count time gaps and missing bars (as result of time gaps)
WARNING:
- This indicator hits the max 1000 vars limit, adding more plots/vars/data points is not possible
- Both QUANDL/Blockchain provide daily EOD data and must be plotted on a daily D1 chart otherwise results will be incorrect
- current chart must not have any time gaps inside the range (time gaps outside the range don't affect the calculation). Time gaps check is provided.
Otherwise hardcoded Blockchain series will be shifted forward on gaps and the whole sequence become truncated at the end => data comparison/total blocks estimate will be incorrect
Examples of valid charts that can run this indicator: COINBASE:BTCUSD,D1 (has 8 time gaps, 34 missing bars outside the range), QUANDL:BCHAIN/DIFF,D1 (has no gaps)
Usage:
- Description of output plot values from left to right:
- c_shifted - 4x blockchain plotcandles ohlc, green/black (default na)
- diff - QUANDL Difficulty
- c_shifted - Blockchain Difficulty with offset
- QUANDL Difficulty multiplied by alpha and rounded
- Blockchain Difficulty multiplied by alpha and rounded
- is_different, bool - cur bar's source values are different (1) or not (0)
- count, number of differences
- bars, total number of bars/data points in the range
- QUANDL daily blocks
- Blockchain daily blocks
- QUANDL total blocks
- Blockchain total blocks
- total_error - difference between total_blocks estimated using both sources as of cur bar, blocks
- number_of_gaps - number of time gaps on a chart
- missing_bars - number of missing bars as result of time gaps on a chart
- Color coding:
- Blue - QUANDL data
- Red - Blockchain data
- Black - Is Different
- Aqua - number of differences
- Green - number of time gaps
- by default the indicator will show lots of vertical aqua lines, 138 differences, 928 bars, total error -370 blocks
- to compare the best match of the 2 sources shift Blockchain source 1 bar into the future by setting Blockchain Difficulty offset = 1, leave alpha = 0.01 =>
this results in no vertical aqua lines, 0 differences, total_error = 0 blocks
if you move the mouse inside the range some bars will show total_error = 1 blocks => total_error <= 1 blocks
- now uncheck Round Difficulty Values flag => some filled aqua areas, 218 differences.
- now set alpha = 1 (use raw source values) instead of 0.01 => lots of filled aqua areas, 871 differences.
although there are many differences this still doesn't affect the total_blocks estimate provided Difficulty offset = 1
Methodology:
To estimate Bitcoin Block Height we need 3 steps, each step has its own version:
- Step 1: Compare QUANDL Difficulty vs Blockchain Difficulty sources and estimate error based on differences
- Step 2: Compare QUANDL Hash Rate vs Blockchain Hash Rate sources and estimate error based on differences
- Step 3: Estimate Bitcoin Block Height (Total Blocks) using different methods in the most accurate way possible
QUANDL doesn't provide block time data, but we can calculate it using the Hash Rate approximation formula:
estimated Hash rate/sec H = 2^32 * D / T, where D - Difficulty, T - block time, sec
1. block time (T) can be derived from the formula, since we already know Difficulty (D) and Hash Rate (H) from QUANDL
2. using block time (T) we can estimate daily blocks as daily time / block time
3. block height (total blocks) = cumulative sum of daily blocks of all bars on the chart (that's why having no gaps is important)
Notes:
- This code uses Pinescript v3 compatibility framework
- hash rate is in THash/s, although QUANDL falsely states in description GHash/s! THash = 1000 GHash
- you can't read files, can only embed/hardcode raw data in script
- both QUANDL and Blockchain sources have no gaps
- QUANDL and Blockchain series are different in the following ways:
- all QUANDL data is already shifted 1 bar into the future, i.e. prev day's value is shown as cur day's value => Blockchain data must be shifted 1 bar forward to match
- all QUANDL diff data > 1 bn (10^12) are truncated and have last 1-2 digits as zeros, unlike Blockchain data => must multiply both values by 0.01 and floor/round the results
- QUANDL sometimes rounds, other times truncates those 1-2 last zero digits to get the 3rd last digit => must use both floor/round
- you can only shift sequences forward into the future (right), not back into the past (left) using positive offset => only Blockchain source can be shifted
- since total_blocks is already a cumulative sum of all prev values on each bar, total_error must be simple delta, can't be also int(cum()) or incremental
- all Blockchain values and total_error are na outside the range - move you mouse cursor on the last bar/inside the range to see them
TLDR, ver 1.0 Conclusion:
QUANDL/Blockchain Difficulty source differences don't affect total blocks estimate, total error <= 1 block with avg 150 blocks/day is negligible
Both QUANDL/Blockchain Difficulty sources are equally valid and can be used in calculations. QUANDL is a relatively good stand in for Blockchain industry standard data.
Links:
QUANDL difficulty source: www.quandl.com
QUANDL hash rate source: www.quandl.com
Blockchain difficulty source (export data as csv): www.blockchain.com
Smart Gap Concepts [MarkitTick]💡 This indicator automates the identification and classification of price gaps, commonly known as Fair Value Gaps (FVG) or Imbalances, by integrating market structure and volume analysis. Unlike standard gap detectors that simply highlight empty space on a chart, this script applies algorithmic filters to categorize gaps into three distinct phases of market movement: Breakaway, Runaway, and Exhaustion. This helps traders understand the potential context of a move rather than just seeing a support or resistance zone.
● Originality and Utility
The primary innovation of this tool is its dynamic classification system. It moves beyond visual detection by checking the "why" behind the gap. By referencing Swing Highs and Swing Lows (Market Structure) alongside Volume efficiency, it determines if a gap represents a breakout, a trend continuation, or a climatic end to a move. Additionally, the script features an automated mitigation tracking system that removes gaps from the chart once price has re-tested the midpoint, ensuring the visual workspace remains clean and relevant to current price action.
● Methodology
The script operates on a multi-stage logic engine:
• Gap Detection
It first identifies the core imbalance where the Low of the current bar does not overlap with the High of the bar two periods prior (for bullish gaps), ensuring the intervening candle represents a strong displacement.
• Structural Analysis (Breakaway Gaps)
The script monitors Pivot Highs and Lows. If a gap occurs simultaneously with a close beyond a key structural Pivot, it is classified as a "Breakaway Gap." This signals the potential start of a new trend.
• Volume and Time Analysis (Exhaustion Gaps)
To identify potential reversals, the script looks for "Trend Maturity." If a gap forms after a long duration since the last pivot and is accompanied by a volume spike (defined by the Volume Spike Multiplier), it is labeled as an "Exhaustion Gap."
• Continuation (Runaway Gaps)
If a gap is valid but meets neither the Breakaway nor Exhaustion criteria, it is considered a "Runaway Gap," typically found in the middle of an established trend.
• Dynamic Cleanup
The script tracks the midpoint of every active gap. If price creates a lower low (for bullish gaps) or higher high (for bearish gaps) beyond this midpoint, the gap is considered mitigated and is removed from the screen.
📖 How to Use
Traders can utilize the color-coded classifications to gauge market intent:
Breakaway (Default Blue): Watch these zones for potential trend initiations. These are often high-probability areas for a retest entry after a structure break.
Runaway (Default Orange): These indicate strong momentum. They can be used to trail stop-losses or add to winning positions, as price should ideally not close below these gaps in a healthy trend.
Exhaustion (Default Red): Be cautious when these appear. They suggest the current move is overextended and a reversal or complex pullback may be imminent.
• Exhaustion Gap : A Practical Case Study
• Breakaway Gap: A Practical Case Study
• Runaway Gap : A Practical Case Study
⚙️ Inputs and Settings
Min Gap Size (Points): Filters out insignificant gaps smaller than this threshold.
Structure Lookback: Defines the sensitivity of the Pivot detection (Swing High/Low).
Volume Avg Length & Multiplier: Determines what qualifies as a "Volume Spike" for exhaustion logic.
Trend Maturity: The minimum number of bars required to consider a trend "old" enough for an exhaustion signal.
Visual Settings: Custom colors for each gap type and box extension length.
● Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
FVG [TakingProphets]🧠 Purpose
This indicator is built for traders applying Inner Circle Trader (ICT) methodology. It detects and manages Fair Value Gaps (FVGs) — price imbalances that often act as future reaction zones. It also highlights New Day Opening Gaps (NDOGs) and New Week Opening Gaps (NWOGs) that frequently play a role in early-session price behavior.
📚 What is a Fair Value Gap?
A Fair Value Gap forms when price moves rapidly, skipping over a portion of the chart between three candles — typically between the high of the first candle and the low of the third. These zones are considered inefficient, meaning institutions may return to them later to:
-Rebalance unfilled orders
-Enter or scale into positions
-Engineer liquidity with minimal slippage
In ICT methodology, FVGs are seen as both entry zones and targets, depending on market structure and context.
⚙️ How It Works
-This script automatically identifies and manages valid FVGs using the following logic:
-Bullish FVGs: When the low of the current candle is above the high from two candles ago
-Bearish FVGs: When the high of the current candle is below the body of two candles ago
-Minimum Gap Filter: Gaps must be larger than 0.05% of price
-Combine Consecutive Gaps (optional): Merges adjacent gaps of the same type
-Consequent Encroachment Line (optional): Plots the midpoint of each gap
-NDOG/NWOG Tracking: Labels gaps created during the 5–6 PM session transition
-Automatic Invalidation: Gaps are removed once price closes beyond their boundary
🎯 Practical Use
-Use unmitigated FVGs as potential entry points or targets
-Monitor NDOG and NWOG for context around daily or weekly opens
-Apply the midpoint (encroachment) line for precise execution decisions
-Let the script handle cleanup — only active, relevant zones remain visible
🎨 Customization
-Control colors for bullish, bearish, and opening gaps
-Toggle FVG borders and midpoint lines
-Enable or disable combining of consecutive gaps
-Fully automated zone management, no manual intervention required
✅ Summary
This tool offers a clear, rules-based approach to identifying price inefficiencies rooted in ICT methodology. Whether used for intraday or swing trading, it helps traders stay focused on valid, active Fair Value Gaps while filtering out noise and maintaining chart clarity.
Indecisive and Explosive CandlesThe Explosive & Base Candle with Gaps Identifier is an indicator designed to enhance your market analysis by identifying critical candle types and gaps in price action. This tool aids traders in pinpointing zones of significant buyer-seller interaction and potential institutional activity, providing valuable insights for strategic trading decisions.
Main Features:
Base Candle Identification: This feature detects Base candles, also known as indecisive candles, within the price action. A Base candle is characterized by a body (the difference between the close and open prices) that is less than or equal to 50% of its total range (the difference between the high and low prices). These candles mark zones where buyers and sellers are evenly matched, highlighting areas of potential support and resistance.
Explosive Candle Identification: The indicator identifies Explosive candles, which are indicative of strong market moves often driven by institutional activity. An Explosive candle is defined by a body that is greater than 70% of its total range. Recognizing these candles helps traders spot significant momentum and potential breakout points.
Supply and Demand Zone Identification: Both Base and Explosive candles are essential for identifying supply and demand zones within the price action. These zones are crucial for traders to place their trades based on the likelihood of price reversals or continuations.
Gap Detection: The indicator also detects gaps, defined as the difference between the close price of one candle and the open price of the next. Gaps are significant because prices often return to these levels to "fill the gap," providing opportunities for traders to predict price movements and place strategic trades.
Visual Markings and Alerts: The indicator visually marks Base and Explosive candles as well as gaps directly on the chart, making them easily identifiable at a glance. Traders can also set customizable alerts to notify them when these key candle types and gaps appear, ensuring they never miss an important trading opportunity.
Customizable Settings: Tailor the indicator’s settings to match your trading style and preferences. Adjust the criteria for Base and Explosive candles, as well as how gaps are detected and displayed, to suit your specific analysis needs.
How to Use:
Add the Indicator: Apply the Explosive & Base Candle with Gaps Identifier to your TradingView chart.
Analyze Identified Zones: Observe the marked Base and Explosive candles and gaps to identify key areas of support, resistance, and potential price reversals or continuations.
Set Alerts: Customize and set alerts for the detection of Base candles, Explosive candles, and gaps to stay informed of critical market movements in real-time.
Integrate with Your Strategy: Use the insights provided by the indicator to enhance your existing trading strategy, improving your entry and exit points based on the identified supply and demand zones.
The Explosive & Base Candle with Gaps Identifier is an invaluable tool for traders aiming to refine their market analysis and make more informed trading decisions. By identifying critical areas of price action, this indicator supports traders in navigating the complexities of the financial markets with greater precision and confidence.
CME Gap Detector [CryptoSea]The CME Gap Indicator , is a tool designed to identify and visualize potential price gaps in the cryptocurrency market, particularly focusing on gaps that occur during the weekend trading sessions. By highlighting these gaps, traders can gain insights into potential market movements and anticipate price behavior.
Key Features
Gap Identification: The indicator identifies gaps in price between the Friday close and the subsequent opening price on Monday. It plots these gaps on the chart, allowing traders to easily visualize and analyze their significance.
Weekend Price Comparison: It compares the closing price on Friday with the opening price on Monday to determine whether a gap exists and its magnitude.
Customizable Visualization: Traders have the option to customize the visualization of the gaps, including the color scheme for better clarity and visibility on the chart.
Neutral Candle Color Option: Users can choose to display neutral candle colors, enhancing the readability of the chart and reducing visual clutter.
How it Works
Data Fetching and Calculation: The indicator fetches the daily close price and calculates whether a gap exists between the Friday close and the subsequent Monday opening price.
Plotting: It plots the current price and the previous Friday's close on the chart, making it easy for traders to compare and analyze.
Gradient Fill: The indicator incorporates a gradient fill feature to visually represent the magnitude of the gap, providing additional insights into market sentiment.
Weekend Line Logic: It includes logic to identify Sunday bars and mark them on the chart, aiding traders in distinguishing weekend trading sessions.
Application
Gap Trading Strategy: Traders can use the identified gaps as potential entry or exit points in their trading strategies, considering the tendency of price to fill gaps over time.
Market Sentiment Analysis: Analyzing the presence and size of weekend gaps can provide valuable insights into market sentiment and participant behavior.
Risk Management: Understanding the existence and significance of gaps can help traders manage their risk exposure and make informed decisions.
The CME Gap indicator offers traders a valuable tool for analyzing weekend price gaps in the cryptocurrency market, empowering them to make informed trading decisions and capitalize on market opportunities.
Imbalance Detector [LuxAlgo]This indicator detects and highlights market imbalances alongside a dashboard returning information about their frequency of occurrence and their fill percentage. Imbalances included in this script are Fair Value Gaps (FVG), Opening Gaps (OG) and Volume Imbalances (VI).
Alerts are available for the occurrences of all market imbalances.
Settings
Imbalances
Each imbalance has the same settings layout:
Imbalance: Enable/disable the detection of the specific imbalance.
Min Width: If enabled, requires the imbalance area width to be greater than the specified value. This minimum width can be expressed in points, percentages or ATR multiples.
Extend: Extend imbalances by a specified number of bars.
Dashboard
Show Dashboard: Enable/disable the dashboard on the chart.
Dashboard Location: Location of the dashboard on the chart.
Dashboard Size: Size of the dashboard.
Usage
Market imbalances are part of the many concepts available to price action traders and highlight areas where there is a disparity between supply and demand.
It is common to see price come back to these areas and traders often use them as supports and resistances but also as targets.
Details
The script can detect three distinct types of imbalances described below.
Fair Value Gaps
Fair Value Gaps (FVG) are three candle formations characterized by a gap between the wicks of the non-adjacent candles in the formation.
A bullish FVG is characterized by a gap between the current price low and the 2 bars anterior price high, and a bearish FVG is characterized by a gap between the current price high and the 2 bars anterior price low.
Opening Gaps
Opening Gaps (OG) are imbalances characterized by non-existent activity within a specific price range.
A bullish OG occurs when the current price low is greater than the previous high, a bearish OG occurs when price high is lower than the previous price low.
Opening Gaps primarily occur in closing markets, as such they are less common in the cryptocurrency market.
Most of the time an Opening Gap will also be accompanied by a Fair Value Gap, in order to avoid clutter the indicator will not detect Fair Value Gaps if Opening Gaps are enabled and if an Opening Gap has been detected
Volume Imbalances
Volume Imbalances (VI) are characterized by a price discontinuity between the opening price and previous close, but unlike Opening Gaps we do not see nonexistent activity within a certain price range.
A bullish VI occur when both the opening and closing prices are superior to the previous closing price, with the current price low overlapping the previous price high. A bearish VI occur when both the opening and closing prices are inferior to the previous closing price, with the current price high overlapping the previous price low.
Because Volume Imbalances can occur excessively on markets with frequent gaps, we make use of an additional condition for filtering out less significant imbalances. Bullish VI's will require the previous price high to be lower than the opening price, while bullish VI's will require the previous price low to be higher than the opening price.
FVG Scanner ProFVG Scanner Pro — Smart Fair Value Gap Detector (with HTF context & proximity alerts)
What it does
FVG Scanner Pro automatically finds Fair Value Gaps (FVGs) on your current chart and (optionally) on a higher timeframe (HTF), draws them as color-coded zones, and notifies you when price comes close to a gap boundary using an ADR-based proximity trigger and (optional) volume confirmation. It’s designed for ICT-style gap trading, confluence building, and clean visual execution.
How it works:
FVG definition
* Bullish FVG (gap up): low > high (the current candle’s low is above the high 2 bars ago).
* Bearish FVG (gap down): high < low (the current candle’s high is below the low 2 bars ago).
* Gaps smaller than your Min FVG Size (%) are ignored. (Gap size = (top-bottom)/bottom * 100.)
Higher-timeframe logic (auto-selected)
The script auto picks a sensible HTF:
1–5m → 15m, 15m → 1H, 1H → 4H, 4H → 1D, 1D → 1W, 1W → 1M, small 1M → 3M, big ≥3M → 12M.
You can display HTF FVGs and even filter so current-TF FVGs only show when they overlap an HTF gap.
Proximity alerts (ADR-based)
The script computes ADR on the current chart timeframe over a user-set lookback (default 20 bars).
An alert fires when price moves toward the closest actionable boundary and comes within ADR × Multiplier:
Bullish: price moving down, within distance of the bottom of a bullish FVG.
Bearish: price moving up, within distance of the top of a bearish FVG.
Yellow ▲/▼ markers show where a proximity alert triggered.
Volume filter (optional)
Require volume to be greater than SMA(20) × multiplier to accept a newly formed FVG.
Lifecycle
Each gap remains active for Extend FVG Box (Bars) bars.
You can delete the box after fill, or keep filled gaps visible as gray zones, or hide them.
Color legend
Current-TF Bullish: Pink/Magenta box
Current-TF Bearish: Cyan/Turquoise box
HTF Bullish: Gold box
HTF Bearish: Orange box
Filled (if shown): Gray box
Alert markers: Yellow ▲ (bullish), Yellow ▼ (bearish)
Inputs (what to tweak)
Show FVGs: Bullish / Bearish / Both
Max Bars Back to Find FVG: collection window & cleanup guard
Extend FVG Box (Bars): how long a zone stays tradable/active
Min FVG Size (%): ignore micro gaps
Delete Box After Fill & Show Filled FVGs: choose how you want completed gaps handled
Show Alert Markers: show/hide the yellow proximity arrows
Show Higher Timeframe FVG: overlay HTF gaps (auto TF)
HTF Filter: only display current-TF gaps that overlap an HTF gap
ADR Lookback & Proximity Multiplier: tune alert sensitivity to your market & timeframe
Volume Filter & Volume > MA Multiple: require above-average volume for new gaps
Built-in alerts (ready to use)
Create alerts in TradingView (⚠️ “Once per bar” or “Once per bar close”, your choice) and select from:
🟢 Bullish FVG Proximity — price approaching a bullish gap bottom
🔴 Bearish FVG Proximity — price approaching a bearish gap top
✅ New Bullish FVG Formed
⚠️ New Bearish FVG Formed
The alert messages include the symbol and price; proximity markers are also plotted on chart.
Tips & best practices
Use FVGs with market structure (break of structure, swing points), order blocks, or liquidity pools for confluence.
On very low timeframes, raise Min FVG Size and/or lower Max Bars Back to reduce noise and keep things fast.
Extend FVG Box controls how long a zone is considered valid; align it with your holding horizon (scalp vs swing).
Information panel (top-right)
Shows your mode, current HTF, number of gaps in memory, active bull/bear counts, and current-TF ADR.
Inversion Fair Value Gap Signals [AlgoAlpha]🟠 OVERVIEW
This script is a custom signal tool called Inversion Fair Value Gap Signals (IFVG) , designed to detect, track, and visualize fair value gaps (FVGs) and their inversions directly on price charts. It identifies bullish and bearish imbalances, monitors when these zones are mitigated or rejected, and extends them until resolution or expiration. What makes this script original is the inclusion of inversion logic—when a gap is filled, the area flips into an opposite "inversion fair value gap," creating potential reversal or continuation zones that give traders additional context beyond classic FVG analysis.
🟠 CONCEPTS
The script builds on the Smart Money Concepts (SMC) principle of fair value gaps, where inefficiencies form when price moves too quickly in one direction. Detection requires a three-bar sequence: a strong up or down move that leaves untraded price between bar highs and lows. To refine reliability, the script adds an ATR-based size filter and prevents overlap between zones. Once created, gaps are tracked in arrays until mitigation (price closing back into the gap), expiration, or transformation into an inversion zone. Inversions act as polarity flips, where bullish gaps become bearish resistance and bearish gaps become bullish support. Lower-timeframe volume data is also displayed inside zones to highlight whether buying or selling pressure dominated during gap creation.
🟠 FEATURES
Automatic detection of bullish and bearish FVGs with ATR-based thresholding.
Inversion logic: mitigated gaps flip into opposite-colored IFVG zones.
Volume text overlay inside each zone showing up vs down volume.
Visual markers (△/▽ for FVG, ▲/▼ for IFVG) when price exits a zone without mitigation.
🟠 USAGE
Apply the indicator to any chart and enable/disable bullish or bearish FVG detection depending on your focus. Use the colored gap zones as areas of interest: bullish gaps suggest possible continuation to the upside until mitigated, while bearish gaps suggest continuation down. When a gap flips into an inversion zone, treat it as potential support/resistance—bullish IFVGs below price may act as demand, while bearish IFVGs above price may act as supply. Watch the embedded up/down volume data to gauge the strength of participants during gap formation. Use the △/▽ and ▲/▼ markers to spot when price rejects gaps or inversions without filling them, which can indicate strong trending momentum. For practical use, combine alerts with your trade plan to track when new gaps form, when old ones are resolved, or when key zones flip into inversions, helping you align entries, targets, or reversals with institutional order flow logic.
Request█ OVERVIEW
This library is a tool for Pine Script™ programmers that consolidates access to a wide range of lesser-known data feeds available on TradingView, including metrics from the FRED database, FINRA short sale volume, open interest, and COT data. The functions in this library simplify requests for these data feeds, making them easier to retrieve and use in custom scripts.
█ CONCEPTS
Federal Reserve Economic Data (FRED)
FRED (Federal Reserve Economic Data) is a comprehensive online database curated by the Federal Reserve Bank of St. Louis. It provides free access to extensive economic and financial data from U.S. and international sources. FRED includes numerous economic indicators such as GDP, inflation, employment, and interest rates. Additionally, it provides financial market data, regional statistics, and international metrics such as exchange rates and trade balances.
Sourced from reputable organizations, including U.S. government agencies, international institutions, and other public and private entities, FRED enables users to analyze over 825,000 time series, download their data in various formats, and integrate their information into analytical tools and programming workflows.
On TradingView, FRED data is available from ticker identifiers with the "FRED:" prefix. Users can search for FRED symbols in the "Symbol Search" window, and Pine scripts can retrieve data for these symbols via `request.*()` function calls.
FINRA Short Sale Volume
FINRA (the Financial Industry Regulatory Authority) is a non-governmental organization that supervises and regulates U.S. broker-dealers and securities professionals. Its primary aim is to protect investors and ensure integrity and transparency in financial markets.
FINRA's Short Sale Volume data provides detailed information about daily short-selling activity across U.S. equity markets. This data tracks the volume of short sales reported to FINRA's trade reporting facilities (TRFs), including shares sold on FINRA-regulated Alternative Trading Systems (ATSs) and over-the-counter (OTC) markets, offering transparent access to short-selling information not typically available from exchanges. This data helps market participants, researchers, and regulators monitor trends in short-selling and gain insights into bearish sentiment, hedging strategies, and potential market manipulation. Investors often use this data alongside other metrics to assess stock performance, liquidity, and overall trading activity.
It is important to note that FINRA's Short Sale Volume data does not consolidate short sale information from public exchanges and excludes trading activity that is not publicly disseminated.
TradingView provides ticker identifiers for requesting Short Sale Volume data with the format "FINRA:_SHORT_VOLUME", where "" is a supported U.S. equities symbol (e.g., "AAPL").
Open Interest (OI)
Open interest is a cornerstone indicator of market activity and sentiment in derivatives markets such as options or futures. In contrast to volume, which measures the number of contracts opened or closed within a period, OI measures the number of outstanding contracts that are not yet settled. This distinction makes OI a more robust indicator of how money flows through derivatives, offering meaningful insights into liquidity, market interest, and trends. Many traders and investors analyze OI alongside volume and price action to gain an enhanced perspective on market dynamics and reinforce trading decisions.
TradingView offers many ticker identifiers for requesting OI data with the format "_OI", where "" represents a derivative instrument's ticker ID (e.g., "COMEX:GC1!").
Commitment of Traders (COT)
Commitment of Traders data provides an informative weekly breakdown of the aggregate positions held by various market participants, including commercial hedgers, non-commercial speculators, and small traders, in the U.S. derivative markets. Tallied and managed by the Commodity Futures Trading Commission (CFTC) , these reports provide traders and analysts with detailed insight into an asset's open interest and help them assess the actions of various market players. COT data is valuable for gaining a deeper understanding of market dynamics, sentiment, trends, and liquidity, which helps traders develop informed trading strategies.
TradingView has numerous ticker identifiers that provide access to time series containing data for various COT metrics. To learn about COT ticker IDs and how they work, see our LibraryCOT publication.
█ USING THE LIBRARY
Common function characteristics
• This library's functions construct ticker IDs with valid formats based on their specified parameters, then use them as the `symbol` argument in request.security() to retrieve data from the specified context.
• Most of these functions automatically select the timeframe of a data request because the data feeds are not available for all timeframes.
• All the functions have two overloads. The first overload of each function uses values with the "simple" qualifier to define the requested context, meaning the context does not change after the first script execution. The second accepts "series" values, meaning it can request data from different contexts across executions.
• The `gaps` parameter in most of these functions specifies whether the returned data is `na` when a new value is unavailable for request. By default, its value is `false`, meaning the call returns the last retrieved data when no new data is available.
• The `repaint` parameter in applicable functions determines whether the request can fetch the latest unconfirmed values from a higher timeframe on realtime bars, which might repaint after the script restarts. If `false`, the function only returns confirmed higher-timeframe values to avoid repainting. The default value is `true`.
`fred()`
The `fred()` function retrieves the most recent value of a specified series from the Federal Reserve Economic Data (FRED) database. With this function, programmers can easily fetch macroeconomic indicators, such as GDP and unemployment rates, and use them directly in their scripts.
How it works
The function's `fredCode` parameter accepts a "string" representing the unique identifier of a specific FRED series. Examples include "GDP" for the "Gross Domestic Product" series and "UNRATE" for the "Unemployment Rate" series. Over 825,000 codes are available. To access codes for available series, search the FRED website .
The function adds the "FRED:" prefix to the specified `fredCode` to construct a valid FRED ticker ID (e.g., "FRED:GDP"), which it uses in request.security() to retrieve the series data.
Example Usage
This line of code requests the latest value from the Gross Domestic Product series and assigns the returned value to a `gdpValue` variable:
float gdpValue = fred("GDP")
`finraShortSaleVolume()`
The `finraShortSaleVolume()` function retrieves EOD data from a FINRA Short Sale Volume series. Programmers can call this function to retrieve short-selling information for equities listed on supported exchanges, namely NASDAQ, NYSE, and NYSE ARCA.
How it works
The `symbol` parameter determines which symbol's short sale volume information is retrieved by the function. If the value is na , the function requests short sale volume data for the chart's symbol. The argument can be the name of the symbol from a supported exchange (e.g., "AAPL") or a ticker ID with an exchange prefix ("NASDAQ:AAPL"). If the `symbol` contains an exchange prefix, it must be one of the following: "NASDAQ", "NYSE", "AMEX", or "BATS".
The function constructs a ticker ID in the format "FINRA:ticker_SHORT_VOLUME", where "ticker" is the symbol name without the exchange prefix (e.g., "AAPL"). It then uses the ticker ID in request.security() to retrieve the available data.
Example Usage
This line of code retrieves short sale volume for the chart's symbol and assigns the result to a `shortVolume` variable:
float shortVolume = finraShortSaleVolume(syminfo.tickerid)
This example requests short sale volume for the "NASDAQ:AAPL" symbol, irrespective of the current chart:
float shortVolume = finraShortSaleVolume("NASDAQ:AAPL")
`openInterestFutures()` and `openInterestCrypto()`
The `openInterestFutures()` function retrieves EOD open interest (OI) data for futures contracts. The `openInterestCrypto()` function provides more granular OI data for cryptocurrency contracts.
How they work
The `openInterestFutures()` function retrieves EOD closing OI information. Its design is focused primarily on retrieving OI data for futures, as only EOD OI data is available for these instruments. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe.
The `openInterestCrypto()` function retrieves opening, high, low, and closing OI data for a cryptocurrency contract on a specified timeframe. Unlike `openInterest()`, this function can also retrieve granular data from intraday timeframes.
Both functions contain a `symbol` parameter that determines the symbol for which the calls request OI data. The functions construct a valid OI ticker ID from the chosen symbol by appending "_OI" to the end (e.g., "CME:ES1!_OI").
The `openInterestFutures()` function requests and returns a two-element tuple containing the futures instrument's EOD closing OI and a "bool" condition indicating whether OI is rising.
The `openInterestCrypto()` function requests and returns a five-element tuple containing the cryptocurrency contract's opening, high, low, and closing OI, and a "bool" condition indicating whether OI is rising.
Example usage
This code line calls `openInterest()` to retrieve EOD OI and the OI rising condition for a futures symbol on the chart, assigning the values to two variables in a tuple:
= openInterestFutures(syminfo.tickerid)
This line retrieves the EOD OI data for "CME:ES1!", irrespective of the current chart's symbol:
= openInterestFutures("CME:ES1!")
This example uses `openInterestCrypto()` to retrieve OHLC OI data and the OI rising condition for a cryptocurrency contract on the chart, sampled at the chart's timeframe. It assigns the returned values to five variables in a tuple:
= openInterestCrypto(syminfo.tickerid, timeframe.period)
This call retrieves OI OHLC and rising information for "BINANCE:BTCUSDT.P" on the "1D" timeframe:
= openInterestCrypto("BINANCE:BTCUSDT.P", "1D")
`commitmentOfTraders()`
The `commitmentOfTraders()` function retrieves data from the Commitment of Traders (COT) reports published by the Commodity Futures Trading Commission (CFTC). This function significantly simplifies the COT request process, making it easier for programmers to access and utilize the available data.
How It Works
This function's parameters determine different parts of a valid ticker ID for retrieving COT data, offering a streamlined alternative to constructing complex COT ticker IDs manually. The `metricName`, `metricDirection`, and `includeOptions` parameters are required. They specify the name of the reported metric, the direction, and whether it includes information from options contracts.
The function also includes several optional parameters. The `CFTCCode` parameter allows programmers to request data for a specific report code. If unspecified, the function requests data based on the chart symbol's root prefix, base currency, or quoted currency, depending on the `mode` argument. The call can specify the report type ("Legacy", "Disaggregated", or "Financial") and metric type ("All", "Old", or "Other") with the `typeCOT` and `metricType` parameters.
Explore the CFTC website to find valid report codes for specific assets. To find detailed information about the metrics included in the reports and their meanings, see the CFTC's Explanatory Notes .
View the function's documentation below for detailed explanations of its parameters. For in-depth information about COT ticker IDs and more advanced functionality, refer to our previously published COT library .
Available metrics
Different COT report types provide different metrics . The tables below list all available metrics for each type and their applicable directions:
+------------------------------+------------------------+
| Legacy (COT) Metric Names | Directions |
+------------------------------+------------------------+
| Open Interest | No direction |
| Noncommercial Positions | Long, Short, Spreading |
| Commercial Positions | Long, Short |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No direction |
| Traders Noncommercial | Long, Short, Spreading |
| Traders Commercial | Long, Short |
| Traders Total Reportable | Long, Short |
| Concentration Gross LT 4 TDR | Long, Short |
| Concentration Gross LT 8 TDR | Long, Short |
| Concentration Net LT 4 TDR | Long, Short |
| Concentration Net LT 8 TDR | Long, Short |
+------------------------------+------------------------+
+-----------------------------------+------------------------+
| Disaggregated (COT2) Metric Names | Directions |
+-----------------------------------+------------------------+
| Open Interest | No Direction |
| Producer Merchant Positions | Long, Short |
| Swap Positions | Long, Short, Spreading |
| Managed Money Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Producer Merchant | Long, Short |
| Traders Swap | Long, Short, Spreading |
| Traders Managed Money | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-----------------------------------+------------------------+
+-------------------------------+------------------------+
| Financial (COT3) Metric Names | Directions |
+-------------------------------+------------------------+
| Open Interest | No Direction |
| Dealer Positions | Long, Short, Spreading |
| Asset Manager Positions | Long, Short, Spreading |
| Leveraged Funds Positions | Long, Short, Spreading |
| Other Reportable Positions | Long, Short, Spreading |
| Total Reportable Positions | Long, Short |
| Nonreportable Positions | Long, Short |
| Traders Total | No Direction |
| Traders Dealer | Long, Short, Spreading |
| Traders Asset Manager | Long, Short, Spreading |
| Traders Leveraged Funds | Long, Short, Spreading |
| Traders Other Reportable | Long, Short, Spreading |
| Traders Total Reportable | Long, Short |
| Concentration Gross LE 4 TDR | Long, Short |
| Concentration Gross LE 8 TDR | Long, Short |
| Concentration Net LE 4 TDR | Long, Short |
| Concentration Net LE 8 TDR | Long, Short |
+-------------------------------+------------------------+
Example usage
This code line retrieves "Noncommercial Positions (Long)" data, without options information, from the "Legacy" report for the chart symbol's root, base currency, or quote currency:
float nonCommercialLong = commitmentOfTraders("Noncommercial Positions", "Long", false)
This example retrieves "Managed Money Positions (Short)" data, with options included, from the "Disaggregated" report:
float disaggregatedData = commitmentOfTraders("Managed Money Positions", "Short", true, "", "Disaggregated")
█ NOTES
• This library uses dynamic requests , allowing dynamic ("series") arguments for the parameters defining the context (ticker ID, timeframe, etc.) of a `request.*()` function call. With this feature, a single `request.*()` call instance can flexibly retrieve data from different feeds across historical executions. Additionally, scripts can use such calls in the local scopes of loops, conditional structures, and even exported library functions, as demonstrated in this script. All scripts coded in Pine Script™ v6 have dynamic requests enabled by default. To learn more about the behaviors and limitations of this feature, see the Dynamic requests section of the Pine Script™ User Manual.
• The library's example code offers a simple demonstration of the exported functions. The script retrieves available data using the function specified by the "Series type" input. The code requests a FRED series or COT (Legacy), FINRA Short Sale Volume, or Open Interest series for the chart's symbol with specific parameters, then plots the retrieved data as a step-line with diamond markers.
Look first. Then leap.
█ EXPORTED FUNCTIONS
This library exports the following functions:
fred(fredCode, gaps)
Requests a value from a specified Federal Reserve Economic Data (FRED) series. FRED is a comprehensive source that hosts numerous U.S. economic datasets. To explore available FRED datasets and codes, search for specific categories or keywords at fred.stlouisfed.org Calls to this function count toward a script's `request.*()` call limit.
Parameters:
fredCode (series string) : The unique identifier of the FRED series. The function uses the value to create a valid ticker ID for retrieving FRED data in the format `"FRED:fredCode"`. For example, `"GDP"` refers to the "Gross Domestic Product" series ("FRED:GDP"), and `"GFDEBTN"` refers to the "Federal Debt: Total Public Debt" series ("FRED:GFDEBTN").
gaps (simple bool) : Optional. If `true`, the function returns a non-na value only when a new value is available from the requested context. If `false`, the function returns the latest retrieved value when new data is unavailable. The default is `false`.
Returns: (float) The value from the requested FRED series.
finraShortSaleVolume(symbol, gaps, repaint)
Requests FINRA daily short sale volume data for a specified symbol from one of the following exchanges: NASDAQ, NYSE, NYSE ARCA. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request short sale volume data. If the specified value contains an exchange prefix, it must be one of the following: "NASDAQ", "NYSE", "AMEX", "BATS".
gaps (simple bool) : Optional. If `true`, the function returns a non-na value only when a new value is available from the requested context. If `false`, the function returns the latest retrieved value when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the chart's timeframe is intraday, the value requested on realtime bars may change its time offset after the script restarts its executions. If `false`, the function returns the last confirmed period's values to avoid repainting. The default is `true`.
Returns: (float) The short sale volume for the specified symbol or the chart's symbol.
openInterestFutures(symbol, gaps, repaint)
Requests EOD open interest (OI) and OI rising information for a valid futures symbol. If the chart uses an intraday timeframe, the function requests data from the "1D" timeframe. Otherwise, it uses the chart's timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request open interest data.
gaps (simple bool) : Optional. If `true`, the function returns non-na values only when new values are available from the requested context. If `false`, the function returns the latest retrieved values when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the chart's timeframe is intraday, the value requested on realtime bars may change its time offset after the script restarts its executions. If `false`, the function returns the last confirmed period's values to avoid repainting. The default is `true`.
Returns: ( ) A tuple containing the following values:
- The closing OI value for the symbol.
- `true` if the closing OI is above the previous period's value, `false` otherwise.
openInterestCrypto(symbol, timeframe, gaps, repaint)
Requests opening, high, low, and closing open interest (OI) data and OI rising information for a valid cryptocurrency contract on a specified timeframe. Calls to this function count toward a script's `request.*()` call limit.
Parameters:
symbol (series string) : The symbol for which to request open interest data.
timeframe (series string) : The timeframe of the data request. If the timeframe is lower than the chart's timeframe, it causes a runtime error.
gaps (simple bool) : Optional. If `true`, the function returns non-na values only when new values are available from the requested context. If `false`, the function returns the latest retrieved values when new data is unavailable. The default is `false`.
repaint (simple bool) : Optional. If `true` and the `timeframe` represents a higher timeframe, the function returns unconfirmed values from the timeframe on realtime bars, which repaint when the script restarts its executions. If `false`, it returns only confirmed higher-timeframe values to avoid repainting. The default is `true`.
Returns: ( ) A tuple containing the following values:
- The opening, high, low, and closing OI values for the symbol, respectively.
- `true` if the closing OI is above the previous period's value, `false` otherwise.
commitmentOfTraders(metricName, metricDirection, includeOptions, CFTCCode, typeCOT, mode, metricType)
Requests Commitment of Traders (COT) data with specified parameters. This function provides a simplified way to access CFTC COT data available on TradingView. Calls to this function count toward a script's `request.*()` call limit. For more advanced tools and detailed information about COT data, see TradingView's LibraryCOT library.
Parameters:
metricName (series string) : One of the valid metric names listed in the library's documentation and source code.
metricDirection (series string) : Metric direction. Possible values are: "Long", "Short", "Spreading", and "No direction". Consult the library's documentation or code to see which direction values apply to the specified metric.
includeOptions (series bool) : If `true`, the COT symbol includes options information. Otherwise, it does not.
CFTCCode (series string) : Optional. The CFTC code for the asset. For example, wheat futures (root "ZW") have the code "001602". If one is not specified, the function will attempt to get a valid code for the chart symbol's root, base currency, or main currency.
typeCOT (series string) : Optional. The type of report to request. Possible values are: "Legacy", "Disaggregated", "Financial". The default is "Legacy".
mode (series string) : Optional. Specifies the information the function extracts from a symbol. Possible modes are:
- "Root": The function extracts the futures symbol's root prefix information (e.g., "ES" for "ESH2020").
- "Base currency": The function extracts the first currency from a currency pair (e.g., "EUR" for "EURUSD").
- "Currency": The function extracts the currency of the symbol's quoted values (e.g., "JPY" for "TSE:9984" or "USDJPY").
- "Auto": The function tries the first three modes (Root -> Base currency -> Currency) until it finds a match.
The default is "Auto". If the specified mode is not available for the symbol, it causes a runtime error.
metricType (series string) : Optional. The metric type. Possible values are: "All", "Old", "Other". The default is "All".
Returns: (float) The specified Commitment of Traders data series. If no data is available, it causes a runtime error.
Fair Value Gap [UkutaLabs]█ OVERVIEW
Fair Value Gaps are price jumps caused by the imbalance buying and selling pressures in trading and are most commonly used amongst price action traders. Fair Value Gaps are formed via a three-candle sequence in which a large candle’s neighbouring candles’ upper and lower wicks do not fully overlap the large candle.
The Fair Value Gaps Indicator also supports Multi Time Frame Plotting, allowing you to plot the Fair Value Gaps from higher time frames onto lower time frame charts.
The Fair Value Gaps Indicator is a powerful trading toolkit that provides users with more information than they would typically have available to them by allowing them to configure several charts worth of information onto one single chart.
█ USAGE
The script automatically identifies imbalances between buying and selling pressure in the market in real time, offering traders valuable insight into current market sentiment. These gaps are considered to be levels where the supply and demand of a commodity are imbalanced, and the price tends to return to fill these gaps (But are not guaranteed to).
The Fair Value Gaps Indicator also allows gaps from higher time frames to be drawn on lower time frame charts, providing traders with more information than they would typically have access to to further simplify the decision making process.
█ SETTINGS
Configuration
• Show Labels: Determines whether labels that identify which time frame a FVG is calculated from.
• Max FVG Display: Determines the limit to the number of FVGs that can be drawn from all time frames. Set this value to 0 to remove this limit.
Current Time Frame
• Display: Determines whether or not FVGs from the current time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the current time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the current time frame.
5 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 5 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 5 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 5 minute time frame.
15 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 15 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 15 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 15 minute time frame.
30 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 30 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 30 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 30 minute time frame.
60 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 60 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 60 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 60 minute time frame.
240 Minute (Higher Time Frame)
• Display: Determines whether or not FVGs from the 240 minute time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the 240 minute time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the 240 minute time frame.
Daily (Higher Time Frame)
• Display: Determines whether or not FVGs from the daily time frame will be drawn on the chart.
• Bullish Color: Determines the color of Bullish FVGs calculated from the daily time frame.
• Bearish Color: Determines the color of Bearish FVGs calculated from the daily time frame.
FVG Breakaway/3rd Candle (Arjo) [MK]Simple script to identify FVGs (Fair Value Gaps) on the current chart timeframe. The script differs from other FVG indicators on the Tradingview platform by using Arjos 3rd candle rule to identify which gaps are 'Breakway Gaps' and which Gaps are likely to be returned to.
NOTE: As with all 'trading rules' this theory is not 100% accurate.
default settings:
Breakaway Gaps = YELLOW
Gaps that price may return to = GREEN
Mitigated Gaps = 100% TRANSPARENT
What is a FVG:
A FVG is a price area defined by a 3 candle pattern. For a bullish FVG, the low of the 3rd candle must be higher than the high of the 1st candle. This then leaves an area that is drawn as in the example below:
A bearish FVG is defined by the high of the 3rd candle being lower than the low of the 1st candle, as shown in the example below:
FVGs can act like magnets where price will either retrace to or reach for, therefore they can be used as entry points and also for take profit target levels.
If for example, a trader would like to use an FVG for an entry, it would be useful to know which FVGs are more likely for price to re-enter and which FVG will be left un-touched. FVGs that are likely to be left un-touched by price are called 'Breakaway Gaps'.
How do we define a 'Breakaway Gap':
First we identify FVGs using the rules stated above, then we look to see where the 3rd candle closed in relation to the 2nd candle. For a bullish 'Breakaway Gap' we want to see the 3rd candle close above the high of the 2nd candle. An example of a bullish Breakaway Gap is shown in the example below:
A bearish 'Breakaway Gap' is defined by the close of the 3rd candle being lower than the low of the 2nd candle. An example is shown below:
How do we define an FVG that price may return to:
Any gap that does not meet the above rules for a 'Breakway Gap' is therefore considered an FVG that price may return to. So for a bullish FVG that price may return to we would look to see if the close of the 3rd candle is above the high of the 2nd candle. If it is not above the high of the 2nd candle then it more likely that price will retrace into the FVG before continuing higher. An example is shown below:
A bearish gap that price may return to is defined by the close of the 3rd candle not being lower than the low of the 2nd candle. An example is shown below:
The indicator is based on the teachings of 'Arjo'. Note: breakaway gaps will only remain 'breakaway' until a liquidity level is reached. Breakaways therefore do not remain 'breakaway' forever. Users of the indicators must fully comprehend this theory before using the indicator with live markets.
Users of the script should be fully aware of this concept and also have conducted thorough backtesting using a large data set before using this indicator with live accounts.






















