RSI Divergence Hunter [JOAT]RSI Divergence Hunter
Automatically detects the four classic RSI divergence types on confirmed pivots and frames each one as a trade.
What it is
Divergence between price and momentum is one of the oldest reversal and continuation reads, but marking it by hand is subjective and easy to force. This indicator detects all four divergence types algorithmically on confirmed pivots, so what you see is defined and repeatable, and then attaches a full trade structure to each. It is an original divergence engine, not a plain RSI plot.
How it works
• RSI core — the relative strength index measures the speed and size of recent moves. It is the momentum reference every divergence is measured against.
• Confirmed pivots — the engine waits for pivots on both price and RSI to confirm a set number of bars back before comparing them. Because pivots are only evaluated once confirmed, a plotted divergence does not repaint into or out of existence.
• The four types — regular bullish (price lower low, RSI higher low) and regular bearish (price higher high, RSI lower high) point to potential reversals; hidden bullish and hidden bearish point to trend continuation after a pullback. Each is drawn with a connecting line on both price and RSI and labelled by type.
• Zones and gating — overbought and oversold zones give context, and a minimum-gap control keeps divergence signals from stacking on lower timeframes.
Trade levels
Each qualifying divergence draws a red risk box to the stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples. The stop is anchored beyond the pivot that formed the divergence.
The dashboard
An adjustable divergence-scope panel shows the current RSI value and zone, the most recent divergence type detected, the active signal, a conviction estimate, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe.
• Treat regular divergences as counter-trend reversal cues and hidden divergences as with-trend continuation cues — the distinction matters.
• Combine with structure or a trend filter; divergence works well as confluence, not in isolation.
Settings
RSI length and source, pivot strength, which divergence types to display, overbought/oversold levels, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is a complete, confirmed-pivot detector for all four divergence classes with clear per-type labelling and integrated, non-repainting trade framing. By fixing the definition of a divergence and waiting for pivot confirmation, it removes much of the hindsight bias that makes manual divergence unreliable.
Notes and limitations
• Divergence signals can persist and reappear in strong trends; a divergence is a condition, not a timing guarantee.
• Confirmed pivots introduce a natural delay equal to the pivot strength — this is the cost of not repainting.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

True Order Blocks & Liquidity LevelsTrue Order Blocks & Liquidity Levels — a comprehensive price action toolkit for market structure analysis, liquidity mapping, and institutional zone detection across any instrument and timeframe.
The logic behind order blocks, imbalances, and internal pullbacks is built in strict accordance with the inside bar methodology — one of the most precise approaches to identifying institutional points of interest. Every module accounts for whether a bar is an inside bar, which significantly improves signal quality and eliminates false zones that commonly appear with traditional approaches.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MODULES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▸ Internal Pullbacks
Displays market structure as lines connecting sequential pivot highs and lows. Inside bars are ignored during structure building, keeping pullback lines clean and noise-free. The last open line redraws in real time as price develops.
Adjustable number of visible lines
Color, style (solid / dashed / dotted) and width customization
▸ Internal Liquidity
Horizontal lines automatically placed at each confirmed pivot high and low. A line persists until price crosses it — at that moment the line is removed and an alert fires. These levels mark clusters of stop orders and serve as potential targets for liquidity sweeps.
Independent limit on the number of visible levels
Color and style customization
Alert on level breach
▸ Imbalance (FVG)
Fair Value Gap detector built on three consecutive non-inside bars. The algorithm steps over inside bars when searching for the FVG — this means the gap can span more than 3 candles visually if inside bars appear in between, which is intentional and produces cleaner zones. Open-price gaps are handled by clipping FVG boundaries to the body of the middle candle.
Separate colors for bullish and bearish FVG zones
Maximum number of displayed zones
Midline drawn inside each zone for easier reference
▸ Order Blocks
Institutional interest zones formed by a strict algorithm: an order block is drawn only when the bar preceding a FVG performed a liquidity sweep — meaning it broke the high or low of the prior significant pivot. The block is placed on the candle immediately preceding the impulsive move. If an absorption candle stands between the OB candidate and the FVG, the candidate is reset — preventing false blocks from forming on overly aggressive moves.
Automatic mitigation tracking: when price touches the zone, the block changes to a "mitigated" color
Option to hide mitigated blocks entirely
Separate colors for bullish, bearish, and mitigated blocks
Adjustable history depth
Alerts on new block formation and on mitigation
▸ Inside Bars
Highlights bars that fit entirely within the range of the previous mother candle. A series of consecutive inside bars signals compression and accumulation ahead of a directional move.
Barcolor highlight with customizable color
Adjustable lookback depth
▸ Absorption
Marks candles that fully engulf the range of the previous mother candle (high > mother high and low < mother low). These candles often indicate absorption of accumulated positions and a short-term shift in intent.
Separate highlight color independent of Inside Bars
Alert on absorption candle formation
▸ PDH / PDL — Previous Day High & Low
Displays high and low levels from previous trading days (up to 7 days). Levels that have been fully engulfed by price are automatically hidden. Each level is labeled: the most recent is marked "PDH" / "PDL", older ones show the date in month/day format.
Adjustable number of days displayed
Unified color for all PDH/PDL levels
Alert when price crosses a level
▸ Market Sessions
Draws session boxes for each trading session over the last N days. Five fully independent sessions are supported — defaults are Asia, Frankfurt, London, New York, and one custom user-defined session.
Custom name, start and end time (UTC), and background color per session
Optional horizontal border lines showing session high and low
Border style and width customization
Adjustable display depth (number of days)
Alerts when price crosses the high or low of a closed session
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TREND FILTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Colors the chart background based on WaveTrend oscillator alignment across up to three independent timeframes. When all selected timeframes show WT above zero simultaneously — bullish background. When all show WT below zero — bearish background. When timeframes disagree — no background, signalling an unclear or transitional market state.
How WaveTrend is calculated: WT is built as a double-smoothed normalized channel index on HLC3. The first EMA measures the average deviation of price from its mean; the result is normalized and smoothed again to produce the final oscillator value. Values above zero indicate bullish bias, below zero — bearish.
Show trend filter — master on/off switch
WT Channel Length — EMA length for channel calculation. Shorter = more reactive
WT Average Length — smoothing EMA applied on top. Larger = calmer signal
TF 1 / TF 2 / TF 3 — each row has an enable toggle and a timeframe selector. Defaults: 15m, 1h, 4h. A disabled timeframe is treated as neutral and excluded from alignment check
Confirm trend on bar close — when enabled, background and alerts only react to values from the last closed HTF bar, eliminating intra-bar repainting. When disabled, the background updates in real time as the HTF bar forms
Bullish / Bearish background colors — customizable with transparency
Trend Changed alert — fires on bar close on any of the six possible state transitions: uptrend ↔ neutral ↔ downtrend and direct flip. Alert message specifies the exact transition
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A compact table showing WaveTrend values for each enabled timeframe. Only enabled timeframes are displayed — from one to three rows.
Column 1: timeframe label (15m, 1h, 4h etc.)
Column 2: current WT value rounded to one decimal. Cell background reflects signal strength: neutral grey (−10 to +10), weak green/red (±10 to ±40), saturated green/red (beyond ±40)
Position — 9 placement options across the chart
Text size — Tiny / Small / Normal / Large
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ALERTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Every module has its own independent alert toggle. All messages can optionally be prefixed with the instrument ticker — useful when monitoring multiple charts simultaneously.
Liquidity level breached
Absorption candle formed
New order block created
Order block mitigated
Session high or low crossed
PDH / PDL level crossed
Trend changed (WaveTrend multi-TF)
อินดิเคเตอร์

Supply & Demand Order Blocks [JOAT]Supply and Demand Order Blocks
Detects institutional order blocks from displacement, tracks them until mitigated, and signals reactions when price returns to a fresh zone.
What it is
Large participants cannot fill size at a single price, so they leave a footprint: the last opposing candle before an aggressive, imbalanced push. That candle marks the zone where unfilled orders rest and where price often returns to be re-accumulated or re-distributed. This indicator locates those zones objectively, manages their lifecycle, and frames the reaction as a trade. It is an original order-block engine with strict zone management.
How it works
• Displacement — the engine measures each impulsive leg over a short window against an ATR multiple. Only moves that exceed that threshold (optionally requiring a fair-value gap) count as institutional displacement, filtering out ordinary candles.
• Order block — the last opposing candle before a qualifying displacement is stored as a zone: the last down candle before a bullish push becomes demand, the last up candle before a bearish push becomes supply.
• Zone management — active blocks are held in parallel arrays, drawn as boxes extended to the right, faded by age and saturated by displacement strength, pruned once mitigated (price closes through them), and capped at a live maximum so the chart stays clean.
• Signals — a Buy fires when price taps a fresh demand block and closes back up (a bullish rejection); a Sell is the mirror at a supply block. An optional trend filter keeps you buying demand in uptrends and selling supply in downtrends, and a minimum-age plus minimum-gap rule stops a freshly formed block from self-triggering and prevents clustering.
Trade levels
Each signal draws a red risk box from entry to a stop placed beyond the block and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable order-flow-depth panel shows the trend bias, the live counts of demand and supply blocks, the distance to the nearest zone, a conviction estimate, the active signal, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe; larger timeframes produce fewer, more significant blocks.
• Trade reactions at fresh, unmitigated zones aligned with the trend filter; treat mitigated zones as spent.
• Use the nearest-zone distance to anticipate where a reaction may occur before it happens.
Settings
Displacement window and ATR size, fair-value-gap requirement, maximum live blocks and extension, minimum block age, trend filter length, risk buffer and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is the full lifecycle model: an ATR-based displacement filter, objective block selection, age-and-strength-aware zone rendering, mitigation-based pruning, and a self-trigger guard — combined with a trend-filtered, non-repainting reaction signal and explained end to end.
Notes and limitations
• Not every tap of a zone reverses; blocks can and do break, which is why mitigation pruning and stops exist.
• Order-block definitions vary between traders; this engine uses one consistent, disclosed definition.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Adaptive Reaction Zones Adaptive Reaction Zones is an adaptive price-reaction level indicator designed to automatically identify areas where the market has repeatedly reversed, slowed down, or changed direction.
Rather than plotting every local high and low, the indicator:
detects confirmed price reactions;
evaluates the quality of each reaction;
groups nearby reactions into price clusters;
ranks the resulting areas;
displays only the most relevant support and resistance levels.
The chart shows the calculated center of each identified reaction area:
🔴 Red lines represent levels above the current price.
🟢 Green lines represent levels below the current price.
Each label displays the exact level price and its percentage distance from the current market price.
🎯 Purpose of the Indicator
Adaptive Reaction Zones provides a structured map of nearby price areas that have previously generated meaningful market reactions.
The indicator can be used to:
identify nearby support and resistance areas;
measure the distance to potentially significant price levels;
plan possible profit-taking areas;
locate zones where future price behavior may require closer observation;
analyze level breakouts and potential role reversals;
create alerts for crossings of relevant price areas.
The indicator is not a standalone trading strategy and does not generate mandatory buy or sell signals.
Its purpose is to provide an objective map of historical price reactions that traders can combine with trend analysis, market structure, volume, volatility, and other forms of analysis.
⚙️ How the Algorithm Works
1. Detecting Confirmed Price Reactions
The calculation begins with confirmed local highs and lows.
Users can select one of two reaction sources:
High / Low
The algorithm analyzes the full high and low values of each candle, including its wicks.
Candle body
The algorithm uses the boundaries of the candle body and excludes the extreme wick values.
The Pivot confirmation setting determines how many bars are required on each side of a local high or low before the reaction is confirmed.
As a result, a reaction is not included in the calculations at the exact moment the extreme occurs. It is added only after subsequent bars confirm that the point was a local high or low.
A lower setting:
increases the sensitivity of the algorithm;
produces more confirmed reactions;
allows the indicator to respond to smaller local movements.
A higher setting:
selects more pronounced market extremes;
reduces the number of secondary reactions;
increases the confirmation delay.
2. Evaluating Reaction Quality
The algorithm does not treat every confirmed local high or low as equally important.
Each reaction receives an individual quality score based on two components.
Reaction Candle Structure
For a reaction from a local high, the algorithm evaluates the upper wick relative to the candle’s total range.
For a reaction from a local low, it evaluates the lower wick.
A pronounced wick may indicate that price was rejected from that area by market participants.
Subsequent Price Movement
The algorithm also measures how far price moved away from the detected extreme during the period required to confirm the reaction.
This movement is normalized using ATR, allowing reactions formed under different volatility conditions to be compared on a consistent basis.
In the final calculation, the subsequent price movement receives slightly more weight than the candle structure.
This means that an isolated or insignificant extreme receives a lower score than a reaction followed by a meaningful price move in the opposite direction.
3. Adaptive Reaction Clustering
The market rarely reacts several times at exactly the same price.
More commonly, reactions occur within the same broader price area but at slightly different values. For this reason, Adaptive Reaction Zones groups nearby reactions into adaptive price clusters.
The cluster width is not fixed. It is calculated using:
the current ATR value;
the market range over the selected lookback period;
the instrument’s minimum tick size.
The algorithm compares the width calculated from ATR with a percentage of the broader market range and uses the larger value.
This allows the clustering distance to adapt automatically to:
current volatility;
the scale of movement in the selected instrument;
the characteristics of the market and timeframe.
ATR is not used as a separate trading signal in this indicator. It is used to normalize volatility, determine the adaptive cluster width, and calculate the minimum spacing between displayed levels.
4. Calculating the Center of a Price Area
When a new reaction is confirmed, the algorithm searches for the nearest suitable cluster.
If the distance to an existing cluster is within the calculated tolerance, the reaction is added to that cluster.
If no suitable cluster exists, a new price area is created.
The center of each cluster is calculated as a weighted average of all reactions included in it.
More recent reactions receive greater weight. The influence of older reactions gradually decreases according to the Historical reaction weight setting.
For each cluster, the algorithm stores:
the number of reactions;
the combined reaction-quality value;
the upper and lower boundaries of the area;
the bar of the most recent reaction;
the number of reactions from local highs;
the number of reactions from local lows.
🧠 How Level Significance Is Evaluated
After the clusters have been created, each cluster receives a composite score.
The score is based on five main characteristics.
Number of Reactions
The more confirmed reactions that have occurred within the same price area, the higher its base significance.
Reaction Quality
Clusters containing pronounced candle rejections and stronger subsequent price movements receive a higher score.
Recency
Recent reactions receive more weight than areas that have not interacted with price for a long time.
Cluster Tightness
Reactions concentrated within a relatively narrow price range receive a higher score than reactions spread across a wider area.
Role Reversal
A cluster receives additional weight when the same price area has generated reactions from both local highs and local lows.
This allows the algorithm to recognize areas that have acted as resistance during one period and as support during another.
The significance of a level is therefore not determined by a single condition. It is based on a combination of:
repetition;
reaction quality;
recency;
cluster tightness;
historical role reversal.
📊 How Displayed Levels Are Selected
Support and resistance levels are selected independently.
Resistance levels are selected from clusters located above the current price.
Support levels are selected from clusters located below the current price.
The selection process considers:
the minimum required number of reactions;
the maximum permitted distance from the current price;
the composite cluster-quality score;
proximity to the current price;
the minimum spacing between neighboring levels.
The Proximity priority setting increases the preference given to clusters located closer to the current price.
Proximity does not replace the underlying quality score. It is added to the cluster’s base score as an additional selection factor.
The Minimum spacing setting prevents several nearly identical levels from being displayed close together.
Users can separately define the maximum number of resistance and support levels.
When fewer qualifying clusters are available, the indicator displays only the levels that meet the selected requirements rather than forcing a fixed number of lines onto the chart.
🖥 Chart Display
For every active level, the indicator displays:
the calculated center of the reaction area;
the percentage distance from the current price;
a color based on the level’s current position relative to price.
A positive percentage means that the level is above the current price.
A negative percentage means that the level is below the current price.
The percentage distance is updated dynamically as the current price changes.
Level Origin Options
From last reaction
The line begins at the most recent confirmed reaction included in the cluster.
Across chart
The line extends across the entire chart.
Users can also customize:
support and resistance colors;
line style;
line thickness;
transparency;
label position;
horizontal spacing between labels.
🔄 Why Levels May Change
Adaptive Reaction Zones is a dynamic indicator.
Whenever a new reaction is confirmed, the price clusters are recalculated.
A new reaction may:
strengthen an existing cluster;
change the calculated center of a cluster;
create a new price area;
change the ranking of previously identified areas;
cause one displayed level to be replaced by another.
The number of stored reactions is limited by the Reaction memory setting.
When older reactions move outside the selected memory limit, they are removed from the calculation.
Displayed lines should therefore not be interpreted as permanent levels that must remain unchanged on the chart.
They represent the current result of the algorithm’s analysis of the available history of confirmed price reactions.
🛠 Main Settings
Reaction Detection
Pivot confirmation
Defines the number of bars required on each side of a local reaction before it is confirmed.
Lower values increase sensitivity. Higher values select more pronounced market extremes.
Reaction memory
Defines the maximum number of recent confirmed reactions included in the calculation.
Minimum reactions
Defines the minimum number of reactions required for a price cluster to qualify as a level.
Reaction source
Selects the source used to identify reactions:
High / Low;
Candle body.
Show confirmed reactions
Displays markers for confirmed local reactions directly on the chart.
Adaptive Clustering
ATR period
Defines the ATR period used to adapt the algorithm to changing volatility.
ATR cluster width
Defines the ATR multiplier used to determine how close reactions must be to belong to the same cluster.
Market range lookback
Defines the number of bars used to calculate the broader market range.
Range cluster width
Defines the percentage of the market range used as an additional measure of cluster width.
Historical reaction weight
Controls how quickly the influence of older reactions decreases.
Lower values cause historical reactions to lose influence more rapidly.
Level Selection
Resistance levels
Defines the maximum number of displayed resistance levels.
Support levels
Defines the maximum number of displayed support levels.
Maximum distance from price
Excludes clusters located too far from the current price.
Minimum spacing
Prevents several closely positioned levels from being displayed together.
Proximity priority
Controls how strongly proximity to the current price influences the final level selection.
Premium Appearance
This section allows users to customize:
support and resistance colors;
line style;
line thickness;
line transparency;
label transparency;
label position;
spacing between labels;
the starting point of each level line.
📌 Practical Use
A conservative approach is to treat each line as the calculated center of a broader area of interest rather than as an exact price for an automatic trade entry.
When price approaches a level, traders may additionally evaluate:
candle behavior;
trend direction;
market structure;
volume;
current volatility;
the nature of the initial interaction;
a breakout and subsequent retest of the area.
To Display Fewer but More Selective Levels
Consider increasing:
Pivot confirmation;
Minimum reactions;
Minimum spacing.
To Create a More Sensitive Market Map
Consider decreasing:
Pivot confirmation;
Minimum reactions.
Higher sensitivity may also increase the number of less significant reaction areas.
For highly volatile instruments, the ATR cluster width setting may require adjustment.
For markets with broad long-term price ranges, the Range cluster width setting may have a greater influence on the calculations.
🔔 Alerts
The indicator includes two alert conditions:
price crossing above an active reaction level;
price crossing below an active reaction level.
A crossing is determined by comparing the previous bar’s closing price with the current bar’s closing price.
To receive alerts only after a candle has been confirmed, select Once Per Bar Close when creating the TradingView alert.
✨ Originality of the Method
Adaptive Reaction Zones is not a simple combination of several standard indicators.
Confirmed pivots and ATR are used only as individual components within a unified calculation process.
Pivots provide confirmed price-reaction points, while ATR allows the calculations to adapt to changing market volatility.
The core methodology follows a structured sequence:
detecting confirmed price reactions;
evaluating the quality of each reaction;
adaptively grouping nearby reactions into clusters;
weighting reactions according to their recency;
evaluating cluster tightness and historical role reversal;
calculating a composite cluster score;
selecting support and resistance levels independently;
filtering out overlapping and excessively distant levels.
The purpose of this approach is not to display every possible market extreme.
Instead, the algorithm identifies a limited number of price areas that have the highest relevance according to the combined history, quality, density, and recency of previous market reactions.
⚠️ Limitations
The indicator uses price data only and does not account for:
fundamental events;
market news;
corporate reports;
macroeconomic factors.
Confirmed pivots always appear with a delay equal to the selected Pivot confirmation value.
This delay is a necessary part of confirming a local extreme and is not a calculation error.
New reactions may change:
the composition of a cluster;
the calculated center of an area;
the ranking of a level;
the set of lines displayed on the chart.
Results may be less stable on instruments with low liquidity, large price gaps, or insufficient historical data.
A historical reaction does not mean that price will necessarily reverse from the same area in the future.
The indicator highlights algorithmically identified areas of previous price interaction, but it does not guarantee the outcome of the next interaction with a level. อินดิเคเตอร์

Multi-Timeframe Trend Matrix [JOAT]Multi-Timeframe Trend Matrix
Reads several timeframes with several methods at once and scores their agreement into a single alignment signal — without lookahead.
What it is
Trading a single timeframe blinds you to the larger context; watching many by eye is slow and inconsistent. This indicator evaluates a grid of timeframes and trend methods, turns the whole grid into one alignment score, and signals when top-down agreement forms. It is an original multi-timeframe aggregation tool built to avoid the common pitfalls of higher-timeframe requests.
How it works
• The matrix — a set of higher and lower timeframes is each assessed by several independent trend methods (such as a moving-average relationship, a directional trend measure and a momentum read). Each cell of the grid returns simply bullish or bearish, so the picture is easy to interpret.
• No lookahead — every higher-timeframe value is pulled with lookahead disabled, so the indicator never borrows future data from an unclosed higher-timeframe bar. This is a deliberate, disclosed design choice that keeps the signals honest and non-repainting on historical bars.
• Alignment score — the grid is condensed into one signed score representing how strongly all timeframes and methods agree. Full agreement produces a strong reading; a split grid produces a weak, near-neutral one.
• State-machine signals — a Buy fires when alignment turns sufficiently bullish from a non-bullish state; a Sell is the mirror. Requiring a state change means the matrix will not re-signal the same direction repeatedly — the signals are self-spacing.
Trade levels
Each signal draws a red risk box to the ATR stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable alignment-matrix panel displays every timeframe-by-method cell as bullish or bearish, a bipolar alignment-score headline, the active signal, a conviction estimate, and a live first-target-before-stop tally from closed bars only. The grid shows exactly which timeframes agree and which disagree.
How to use it
• Works on any asset; pick a base timeframe and let the grid supply the higher-timeframe context.
• Favour entries when the grid is broadly aligned; be cautious when it is mixed.
• Use it as a top-down filter alongside your own entry method, or take its aligned signals directly.
Settings
The set of timeframes, the methods and their lengths, the alignment threshold, ATR risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The contribution is the aggregation framework: a disciplined, lookahead-free multi-timeframe, multi-method grid condensed into one transparent alignment score with a state-machine trigger. Seeing the full grid — not just a final arrow — is what lets a trader trust or override the signal for themselves.
Notes and limitations
• Higher-timeframe values update only as those bars close, so alignment can shift when a higher-timeframe bar completes — this is expected and prevents lookahead bias.
• Strong alignment can still precede a reversal; agreement is context, not certainty.
• The tally reflects only past bars on the current chart and is not a forecast.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

Quiet Period Box with Key Earnings LevelThe green box is the new programming for the "Quiet Period" to show when a company doesn't comment on anything about the prospects for the company which means that analysts can have an undue influence on the stock price during the quiet period.
Once the company reports earnings, a "Green Triangle" is created to include the day before and the day after the earnings announcement to then reveal the important price level, or "Key Level" which is the mid-point of this price action around the earnings release.
How to USE the indicator: The interesting part of this analysis is how these reference price levels have an influence in the future trading of shares. If a stock is in a bullish trend, the mid-point of the earnings release is the ideal, low-risk point to enter long with a stop 1, 2 or 3 ranges on the other side of the "Key Level" in case it doesn't work out. The target can be a variety of techniques from using the width of the "quiet period" range added to the "earnings level" to derive a price target.
The inverse would also be true. If the general trend of a stock was down, the mid-point of the 'earnings level' would provide supply and stop the price advance after a down move on earnings. You can see for yourself looking back over the history of the stock whether or not this method would be a profitable approach or not.
What I like is having the knowledge of where the important levels are on a stock chart so when the price gets there I can then decide whether or not to take a trade. You can set alerts on the "earnings level" and the highs and lows of the "quiet period" box to alert you to when a stock is worth looking at.
Over a year ago, I made the "Earnings Level" free to all users here at TradingView after keeping it a fee-based private indicator for close to 10 years. I feel a great debt of gratitude for TradingView for creating this wonderful platform for all of us to share ideas and I wanted everyone to have this powerful indicator to help investors and traders alike.
Now with this "Quiet Period" box publication, the patterns in the chaos of market action can be more easily found and you can be more at peace with the volatility in each stock when you can see the stock has been in a pre-defined time-zone for comparison.
Wishing you all the best of good fortune in your investing and trading and I look forward to hearing your questions.
A huge thank you goes to Ivan Labrie here at TradingView @IvanLabrie for writing the code for this indicator. He is a champion of technical analysis and the many methods of the Time@Mode, Key Earnings, Risk, Reward, Psychology, Trend and options strategies.
อินดิเคเตอร์

ICT Killzones & Key Levels -DST- By SpartanICT Killzones & Key Levels -DST- By Spartan
This tool brings together the reference levels that ICT-style session traders build their bias around, so you are not stacking four or five separate indicators on one chart to get them. Killzone session ranges, their pivot highs and lows, Fibonacci retracements of each session's range, and the higher-timeframe opens, highs, lows, and time markers that traders use to judge context all come from the same underlying session and time data. Keeping them in one script means they stay in sync with each other and with the timeframe/timezone settings you choose, instead of drifting apart the way separately-configured indicators can.
This indicator's strongest feature is the automatic daylight saving time adjustment for each session as it uses real time zones of each session and adjusts automatically rather than having to change them each time the clock is changed anywhere
WHAT IT DOES
Killzone sessions
Draws boxes around the Asia, London, and New York killzone sessions. Each session's time range is entered in that session's own local time (UTC for Asia, Europe/London for London, America/New York for New York) and automatically adjusts for daylight saving, so you never have to manually shift the input twice a year.
Pivots
Marks each session's high and low as extending lines, with optional labels showing price. Pivots can extend until price mitigates them or continue past mitigation, and can alert you when a session high or low is broken.
Fibonacci levels (new in this version)
Each session can independently plot 0, 0.25, 0.5, 0.75, and 1 retracement levels of its own range. These update live while the session is still forming and lock in place once the session closes, so you can watch how a session's midpoint and quartiles evolve in real time rather than only seeing them after the fact. Colors automatically match each session's own color so the chart stays readable.
Midpoints
Optional midpoint line for each session's pivot range, with the choice to stop tracking once price mitigates it or keep tracking through the session.
Killzone range table
An optional table showing each session's most recent range and its rolling average over a configurable number of past sessions, so you can gauge whether the current session is expanding or contracting relative to its recent history.
Day / Week / Month tools
Optional open lines, high/low lines, and separators for the daily, weekly, and monthly timeframes, each with independent alerting on high/low breaks.
Custom opening prices and timestamps
Up to eight custom time-of-day open markers (for marking things like true day open or other reference times you track) and four vertical timestamp lines, both independently configurable.
Day-of-week labels
Optional labels marking the start of each weekday on intraday charts, with the option to hide weekend labels.
HOW TO USE IT
Turn on the sessions you trade, set the killzone range and pivot options to match how you use highs/lows and mitigation, and enable Fibonacci levels on whichever sessions you want retracement context for. The killzone range table is useful for a quick read on whether the current session is unusually wide or narrow. The Day/Week/Month and custom time tools are there if you also reference higher-timeframe opens or specific times of day, but are fully optional and off by default so the chart stays clean if you only want killzones.
CREDIT AND ORIGINALITY
The killzone box, pivot, and DST-safe session-detection logic in this script is built on tradeforopp's open-source "ICT Killzones & Pivots" indicator. This version adds session-independent live-updating Fibonacci retracement levels (not present in the original), a reorganized and more clearly labeled settings panel, and several fixes to line/label handling in the underlying session logic. Published open-source in keeping with the license of the code it builds on.
This is a level-marking and context tool, not a signal generator or a strategy. It does not predict future price movement or guarantee any outcome; it plots historical and forming session data so you can build your own read of the market around it. อินดิเคเตอร์

อินดิเคเตอร์

อินดิเคเตอร์

Dow Theory Market Structure StrategyDow Theory Market Structure Strategy turns the classic "trade with rising highs and rising lows" rule into a fully mechanical, backtestable system, so the claim can be checked with data instead of taken on faith.
How it works
Structure: an uptrend is confirmed when the two most recent confirmed swing highs and swing lows are both rising (higher high & higher low). A downtrend is the mirror case. The trend is invalidated the moment price closes back through the most recent confirmed swing low (uptrend) / swing high (downtrend).
Swing detection: standard bar-pivot method (Depth bars required on each side). Every swing used is confirmed before use — nothing is plotted or traded ahead of confirmation, so the script does not repaint.
Entry (selectable): "Breakout" (default) enters on a close beyond the confirmed swing extreme once the higher-high/higher-low structure is in place. "Pullback" instead waits for price to retrace part of the most recent swing range and close back through that level before entering.
Exit (single line used for both stop-loss and take-profit — no separate profit target): "Low-break" (default) trails the latest confirmed swing low/high. "ATR" (selectable) instead trails a fixed ATR multiple from entry. There is no own-data evidence yet that the ATR mode outperforms the default — it is offered for side-by-side comparison, not because it has been shown to be better.
Position size: fixed notional = Margin input × Leverage input (defaults: 1,000,000 × 5 = 5,000,000, account currency), independent of running equity.
Adjustable inputs: Depth (swing sensitivity) · Entry mode (Breakout / Pullback) · Exit mode (Low-break / ATR) · Margin · Leverage.
Backtest disclosure (default settings — Depth=3, Breakout entry, Low-break exit; OANDA:USDJPY, 1H; 2023-01-05 – 2026-07-11; 343 closed trades; commission 0.01% per side):
Win rate 36.4% | Profit factor 1.15 | Net profit +430,456 (+43.05% on 1,000,000 initial capital) | Max drawdown -338,991 (-26.48%).
Long trades alone: 204 trades, 40.2% win rate, PF 1.35. Short trades alone: 139 trades, 30.9% win rate, PF 0.97 (a loser on its own over this period).
This is a single symbol, single period, single parameter set — it has not been reproduced across other pairs, timeframes, or Depth values. A -26.48% drawdown is large relative to the margin/leverage settings above; at these defaults it would approach margin-call territory in live use. This script is an educational verification tool from an ongoing public research project comparing implementations of Dow Theory — it is not a proven trading edge. Past performance does not guarantee future results. Nothing here is investment advice.
「ダウ理論 Market Structure Strategy」は、「高値・安値の切り上げに順張りする」というダウ理論の考え方を、誰でも検証できる完全に機械的なルールに落とし込んだストラテジーです。
仕組み
構造判定:直近2つの確定スイング高値・安値がともに切り上がっていれば上昇トレンド成立(下降はその逆)。終値が直近確定安値を割った時点(上昇の場合)でトレンド無効化。
スイング検出:前後Depth本のピボットで検出。使用するスイングはすべて確定済みのみで、リペイントしない。
エントリー(選択式):「突破」(既定)=構造成立後、確定した直近高値/安値を終値で改めて抜けた瞬間。「押し目」=直近スイングの値幅を一定割合戻したのち、その水準を終値で回復した瞬間。
撤退ライン(利確・損切りを分けず単一のラインで判定・選択式):「安値割れ」(既定)=直近確定安値/高値に追従。「ATR」=エントリー時のATR×倍率を初期距離としてトレール。自社データでATRが安値割れ方式を上回るという確認はまだ取れていないため、優劣を見比べるための選択肢として用意している。
建玉サイズ:証拠金入力×レバレッジ入力の固定金額(既定:100万円×5倍=500万円)。運用中の損益に連動しない。
変更できる項目:Depth(スイング感度)/エントリー方式/撤退ライン方式/証拠金/レバレッジ
バックテスト開示(既定設定=Depth3・突破・安値割れ/OANDA:USDJPY・1時間足/2023-01-05〜2026-07-11・確定343トレード/手数料0.01%片道):
勝率36.4%|プロフィットファクター1.15|純損益+430,456円(初期資金100万円に対し+43.05%)|最大ドローダウン▲338,991円(▲26.48%)。
ロング単体:204件・勝率40.2%・PF1.35。ショート単体:139件・勝率30.9%・PF0.97(単体では負け越し)。
この結果は単一通貨ペア・単一期間・単一パラメータでの1本の記録であり、他の通貨ペア・時間足・Depth値での再現性は未確認です。最大ドローダウン▲26.48%は上記の証拠金・レバレッジ設定に対して重く、この設定のまま実運用すればロスカット水域に近づく規模です。本スクリプトはダウ理論の実装比較を行う公開検証プロジェクトの一環としての教育・検証目的のツールであり、確立された優位性を示すものではありません。過去の成績は将来の成績を保証しません。投資助言ではありません。 กลยุทธ์

GEX Levels - Dealer Gamma Exposure GEX DAILY LEVELS — Dealer Gamma Exposure Levels
This indicator plots dealer gamma exposure (GEX) levels as horizontal lines, computed from index option chain data and supplied via a compact text string. It is designed for NQ/NDX but works with any instrument given matching data.
█ METHODOLOGY
The levels follow the standard "naive" dealer positioning convention (dealers long calls, short puts). Per-strike net GEX = gamma × open interest × contract multiplier × spot² × 1%, summed with calls positive and puts negative.
- Call Wall / Put Wall — strikes holding the maximum positive / most negative net GEX across expiries. Dealer hedging around these strikes dampens moves toward them in positive gamma (pinning) and defines major resistance/support.
- 0DTE Walls — the same computation restricted to the current session's expiry, isolating the most reactive intraday hedging flows.
- Gamma Flip — the spot level where aggregate dealer gamma changes sign, obtained by recomputing Black-Scholes gamma across a grid of hypothetical spot prices. Above it, hedging is mean-reverting; below it, hedging amplifies moves.
- Expected Move — the at-the-money straddle price for the nearest expiry: the move the options market is pricing for the day. Fractional bands (e.g. ±50%, ±150% of the straddle) are included because the straddle approximates 0.8 standard deviations, giving each band a defined statistical meaning.
- 1D Min/Max — the one-day range implied by annualized ATM volatility (IV/√252), a complementary volatility-based estimate.
- Max Pain — the strike minimizing total option holder payout at the nearest expiry.
- G+/G− — remaining top strikes ranked by absolute net GEX.
█ WHY A TEXT STRING INPUT
Open interest is static intraday, so gamma levels are constant for the session. Injecting them as data rather than recomputing on chart makes the indicator repaint-free, lookahead-free and provider-agnostic: any gamma data source, or your own option-chain computation, can feed it.
Format: price,label,kind;price,label,kind;...
Kind codes: res, sup (walls) · res0, sup0 (0DTE walls) · flip · emh, eml (expected move) · emb (fractional bands) · ivh, ivl (1D range) · mpain · gpos, gneg
Example: 21100.0,Call Wall,res;20950.5,Gamma Flip,flip;20800.0,Put Wall,sup
█ FEATURES
- Per-family styling: visibility, color, width (1–5), line style for each level type
- Alerts on price crossing walls, 0DTE walls or the gamma flip
- Proximity table showing the nearest level above and below current price with distances
- Label size, offset and price display options
█ LIMITATIONS
Levels are a pre-session snapshot; walls do not move intraday since open interest is settled overnight. The gamma flip may legitimately be absent in strongly positive gamma regimes. Educational tool; nothing here is financial advice. อินดิเคเตอร์

Equal Highs and Lows [D4A]Overview
This indicator identifies and displays **Relative Equal High (EQH)** and **Equal Low (EQL)** zones, highlighting price levels where the market has stalled or reversed from before. These areas are considered liquidity zones because they mark locations where price has previously paused, reversed, or encountered significant buying or selling activity, and as a result there is a concentration of buy-stops or sell-stops in these zones. In trading approaches such as Smart Money Concepts (SMC/ICT), equal highs and lows are considered important liquidity targets that may influence future market movement, as larger participants are thought to seek the liquidity concentrated around these levels.
How this script is different from other similar tools
- It marks two pivots as Equal Highs only if the second pivot is lower (within the threshold) than the 1st one and likewise, two pivots are marked as Equal Lows only if the second pivot is situated higher (within the threshold) than the 1st pivot. In other words the price has still a reason to re-visit this area
- It provides three different, user configurable pivot lengths that the script scans at the same type in search of EQHL. Most scripts use only one pivot length thus missing on many potential targets
- Apart from main labels, it draws also side labels at defined location which can be convenient to see all EQHL target levels at glance
How It Works
The indicator analyses **pivot highs** and **pivot lows** to locate meaningful swing points on the chart. When two consecutive pivots form within a user-defined price threshold, they are recognized as an Equal Highs or Equal Lows. A line is then drawn between the matching pivots, and the zone is labelled for easy identification.
Since market prices rarely align at exactly the same value, the indicator includes a **ATR Threshold** setting. This parameter specifies the maximum percentage difference allowed between two pivot levels for them to qualify as equal, giving traders the flexibility to adjust the detection based on market volatility and their preferred level of precision.
How to Use
(EQH/EQL) are strong liquidity targets: Use the marked levels as potential targets for take-profits, as price often seeks out these "equal" levels to sweep liquidity.
SETTINGS
- Show EQHL - show labels and drawings
- # of bars to use - limits the number of bars used to find EQHL
- Threshold / ATR Length - are used to establish difference between two levels being considered "equal high" or "equal low"
- Show Labels - define labels shown
- Show Side Labels - enables additional labels on the side of the chart
- Right Coordinate - how many bars to the right the side labels are displayed at
- Pivot Length - there are three different lengths to configure to cover large distance difference between two pivots
- Remove All Drawings After Sweep - when EQH or EQL levels are swept, the corresponding drawings are removed from memory
-----------------
Disclaimer
The content provided in this script is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs. อินดิเคเตอร์

Quick Level InputsPlot levels by typing them, not by drawing them
OVERVIEW
Plot horizontal levels by typing prices instead of dragging lines. Paste a
comma-separated list, pick a color, done. Six independent groups, each
optionally bound to its own ticker, so a single instance can hold level sets
for multiple symbols and swap between them automatically as you change charts.
THE PROBLEM IT SOLVES
Drawing tools are fine until your prep produces a *list*. Pivots, prior
session highs/lows, gamma strikes, VWAP anchors — if the output of your
process is numbers, translating them into hand-dragged lines is slow and
imprecise. Typing the price is exact and takes a second.
The usual catch with a Pine-based approach is that indicator inputs aren't
tied to a symbol: switch the chart and your ES levels are sitting on NQ. This
script fixes that with per-group ticker binding.
FEATURES
• Unlimited levels per group — just type or paste "5312, 5288.5, 5250"
• 6 independent groups, each with its own color, width, style, and label text
• Per-group ticker binding — blank draws on any symbol; set a ticker and that
group only appears on that chart
• Zone shading — pair levels to shade bands for chop zones, expected pivot
ranges, or supply/demand
• Price-scale tags — levels show as colored price tags on the right axis
• Full color pickers with opacity, plus a master opacity fade for all lines
• Extend right / both / none
• Optional on-chart labels with adjustable size and bar offset
• Fails quietly — an unmarked ticker simply draws nothing
HOW TO USE
1. Add to chart and open settings.
2. In any group, type your levels into the Levels field, separated by commas:
5312, 5288.5, 5250
Semicolons work too. Spaces are ignored. Unparseable entries are skipped
rather than breaking the script.
3. Pick a color, width, and line style for that group.
4. Optional: set a Ticker to bind the group to one symbol. Leave it blank to
draw on every symbol.
Think of groups as buckets, not rows. A typical setup:
Group 1 — red, solid, width 2 → key pivots
Group 2 — blue, solid, width 1 → secondary levels
Group 3 — amber, "Solid + Zone" → expected chop zone
ZONES
Choose any "+ Zone" style and the group's levels pair up sequentially:
5340, 5325 → one shaded band
5340, 5325, 5280, 5262 → two shaded bands
Order within a pair doesn't matter (high/low is sorted for you). An odd
leftover level draws as a plain line. Fill transparency is set by "Zone fill
opacity".
MULTI-SYMBOL WORKFLOW
Set Group 1's ticker to ES1! and Group 2's to NQ1!, each with its own levels.
Flip the chart between the two symbols and the correct set appears
automatically — one indicator instance, no duplicate copies, no retyping.
Blank-ticker groups act as a "draws on everything" layer.
SETTINGS
• Show price labels (on line) — text labels riding on each level
• Show levels in price scale — colored tags on the right axis
• Label size / Label offset — offset pushes labels N bars right, clear of
price action
• Extend — Right, Both, or None
• Master opacity — fades every line at once; at 100 each group's own
color-picker opacity is used as-is
• Zone fill opacity — higher is more transparent
NOTES AND LIMITS (read these)
• Price-scale tags cover the FIRST 20 LEVELS in group order. Pine requires a
fixed number of plot() calls, so this can't be unbounded. Levels beyond 20
still draw as lines and labels normally — they just don't get an axis tag.
Zones consume two tags each (high and low).
• Color, width, and style are per GROUP, not per individual level. That's the
deliberate tradeoff for pasteable lists. Use a separate group per color.
• Levels are stored per indicator instance in your chart layout — not per
symbol in TradingView's own storage. Ticker binding controls VISIBILITY,
not storage. Save your layout to persist them.
• Drawing happens once on the last bar and objects are cleaned up on redraw,
so it stays light regardless of history length.
CREDITS
The input model here — grouped, comma-separated level strings with per-group
symbol binding, and the zone concept — is based on "Quick Levels" by
@SamRecio. This is an independent rewrite rather than a fork: it adds full
color pickers (instead of a fixed color list), price-scale tags, an extend
option, master opacity, multiple zones per group, and single-pass rendering
on the last bar; and it removes the runtime error on unmarked tickers. Credit
to SamRecio for the original design. Licensed MPL 2.0. อินดิเคเตอร์

อินดิเคเตอร์

อินดิเคเตอร์

อินดิเคเตอร์

T4T Key Liquidity LevelsThis indicator maps the key liquidity levels that institutional order flow gravitates toward, all in one clean tool: higher-timeframe highs/lows, killzone sessions ranges with sweep detection, and the opens that anchor intraday bias.
What it plots
HTF Levels - every line anchors at the exact candle that printed the level, keeping charts clean:
Previous Day High/Low (PDH/PDL)
Previous Week High/Low (PWH/PWL)
Monday High/Low (MonH/MonL)
Previous Month High/Low (PMH/PML)
Killzone Sessions with Sweep Detection - Asia session, London session, and New York Session highs/lows, fully configurable. These are treated as resting liquidity. Chose wick-through or closes-through triggers. Optional alerts fire on every sweep.
Opens - Midnight Open and 8:30 Open for intraday dealing-range bias, plus Daily Open, Weekly Open, and Monthly Open, each extending until its period ends. อินดิเคเตอร์

อินดิเคเตอร์

Quant Confluence Engine [JOAT]Quant Confluence Engine
Scores several independent market factors into one weighted composite, so signals fire on agreement across dimensions rather than on any single trigger.
What it is
Single-factor signals are fragile: a momentum cross, a moving-average flip or a volume spike each fails often on its own. This engine measures several independent factors, normalises them to a common scale, and blends them into one bipolar confluence score. A signal is produced only when enough factors line up, and the transparency of the score lets you see exactly why. It is an original scoring framework, not a bundle of overlaid classic indicators.
How it works
• The factors — the engine evaluates a set of complementary dimensions, each capturing a different aspect of the tape: trend alignment, momentum, volatility regime, volume behaviour, price structure and stretch relative to a mean. Each factor is computed with a standard, well-understood method and then scaled so it contributes fairly.
• Normalisation — every factor is converted to a bounded contribution, so no single input can dominate the composite purely because of its raw magnitude.
• Composite score — the contributions are combined into one signed 0-centred score. Positive means the factors lean bullish, negative bearish, and the magnitude expresses how strong the agreement is.
• State-machine signals — a Buy fires when the score crosses into sufficient bullish agreement from a non-bullish state; a Sell is the mirror. Because a signal requires a genuine state change, the engine will not re-fire the same direction bar after bar — signals are self-spacing by construction.
Trade levels
Each signal draws a red risk box to the ATR stop and a green reward box to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable factor-grid panel shows each factor's current lean (up or down) alongside a bipolar composite-score headline, the active signal, a conviction reading, and a live first-target-before-stop tally from closed bars only. The grid makes it obvious which factors are driving or vetoing a setup.
How to use it
• Works on any asset and timeframe; the factors adapt to the data.
• Read the grid before acting — a signal backed by broad agreement differs from one carried by a single strong factor.
• Raise the agreement requirement for fewer, higher-conviction signals, or lower it for more frequent ones.
Settings
Per-factor lengths and weights, the agreement threshold, ATR risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The value is the framework itself: a normalised, weighted multi-factor score with a transparent per-factor readout and a state-machine trigger that prevents signal spam. It is designed so a trader can inspect the reasoning, not just accept a label — which is precisely what a confluence approach should offer.
Notes and limitations
• Confluence reduces some false signals but does not remove them; correlated factors can all be wrong together in unusual conditions.
• Weighting is a design choice — different weights suit different markets, so treat the defaults as a starting point.
• The tally reflects only past bars on the current chart and is not a prediction.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์

PDHLC Previous Day High, Low, and Close## PDHLC — Previous Day High, Low, and Close
PDHLC is a customizable market-reference indicator that displays the previous trading day’s high, low, and close.
It was designed primarily for futures traders, but the user-defined trading-day start time allows it to be adapted to different instruments, sessions, and trading methodologies.
The indicator tracks three key reference levels:
* **PDH — Previous Day High**
* **PDL — Previous Day Low**
* **PDC — Previous Day Close**
## Key Features
### Custom Trading-Day Start Time
Users can define exactly when a new trading day begins using Eastern Time.
The default setting is:
* **6:00 PM ET**
* **18:00 using the 24-hour clock**
This matches the standard futures-session rollover used by many CME futures markets.
The start hour and minute can be changed independently, allowing the indicator to support:
* Different futures sessions
* Regular trading hours
* Overnight sessions
* Custom trading plans
* Non-futures instruments
The new trading day begins on the first chart bar at or after the selected start time.
### Previous Day High and Low
PDHLC calculates and displays the completed prior trading day’s:
* Highest traded price
* Lowest traded price
* Closing price
Each line begins at the opening bar of the current user-defined trading day.
### Confirmed PDH and PDL Breaches
PDH and PDL are not considered breached merely because price trades through them intrabar.
A confirmed breach requires:
* A candle close above PDH
* A candle close below PDL
Once a breach is confirmed, the corresponding line automatically changes to a dashed style for the remainder of the trading day.
This creates an immediate visual distinction between:
* Active, unbreached liquidity levels
* Levels that have already been closed through
The breach status resets when the next user-defined trading day begins.
### Directional PDC Coloring
The Previous Day Close dynamically changes color based on the current price relationship to PDC:
* **Bullish:** Price is above PDC
* **Bearish:** Price is below PDC
* **Neutral:** Price is equal to PDC
Bullish, bearish, and neutral PDC colors can be configured independently.
The original PDC directional logic remains separate from the PDH and PDL breach logic.
### Customizable Labels
Users can control:
* Label visibility
* Label size
* Label offset from the current bar
Available label sizes include:
* Small
* Normal
* Large
### Customizable Information Table
The built-in information table displays the current value and status of each level:
* **PDH:** Active or Breached
* **PDL:** Active or Breached
* **PDC:** Bullish, Bearish, or Neutral
## Why PDHLC Is Unique
Many previous-day indicators rely on fixed calendar days, automatically extend lines across the chart, or treat any temporary move beyond a level as a confirmed breakout.
PDHLC is different because it combines:
* A fully customizable trading-day start time
* A futures-compatible default of 6:00 PM ET
* Candle-close confirmation for PDH and PDL breaches
* Automatic dashed styling after confirmed breaches
* Separate directional logic for PDC
* Lines that begin at the current trading-day open
* Lines that end exactly at their labels
* Adjustable label distance from current price
* Fully customizable table size and location
This makes PDHLC useful for traders who incorporate previous-day liquidity, session structure, breakout confirmation, directional bias, and daily reference levels into their analysis.
## Intended Use
PDHLC can be used to identify:
* Previous-day liquidity targets
* Potential support and resistance
* Confirmed high or low breaks
* Current price location relative to the prior close
* Daily directional context
* Untouched versus breached prior-day levels
This indicator does not generate trade-entry signals and does not guarantee future results. It is intended as a market-structure, session-reference, and discretionary trading-analysis tool.
อินดิเคเตอร์

อินดิเคเตอร์

Average Entry Price and Fee-Adjusted Break-Even WorkbenchOverview
Average Entry Price and Fee-Adjusted Break-Even Workbench is an open-source position cost-basis and break-even research indicator. It reconstructs a manually entered position's average entry price, weighted average cost and DCA cost basis, then calculates a cost-adjusted and fee-adjusted break-even level after configurable trading fees, spread or slippage, fixed costs and funding adjustments.
The script supports Long and Short positions, a known average price or up to eight individual fills, scale-in research and position-management scenarios.
It does not predict market direction, generate trade recommendations, read broker positions, access Trading Panel account data or place orders.
Why average entry and break-even are different
A position's average entry price is not always the price at which its estimated net result becomes zero.
Entry fees, exit fees, spread, slippage, fixed order costs and funding adjustments can move the effective break-even away from the weighted average entry.
The script separates three values that are often treated as one:
- Weighted average entry price
- Cost impact between the average entry and break-even
- Current price distance from the calculated break-even
Long and Short positions use separate equations. Percentage exit fees are solved algebraically instead of being approximated by adding a percentage directly to the average entry price.
Before a break-even result is displayed, the calculated level is reinserted into the normalized net P&L equation. The script checks the remaining residual and suppresses the result when the calculation health check does not pass.
Position input methods
The script provides two manual position-input methods.
Known average
Enter:
- Average entry price
- Remaining position quantity
- Long or Short side
This mode is suitable when the broker or another record already provides the current average entry price.
Individual fills
Enter up to eight fill prices and quantities.
The weighted average is calculated as:
Average entry price =
Sum of (fill price x fill quantity) / Sum of fill quantity
The selected number of fills determines which rows are used.
Optional dated fills can activate each fill from its specified time. When dated fills are enabled, the historical development of the weighted average can also be displayed.
Fill validation can either:
- Require all selected rows to contain valid price and quantity values
- Use only the valid rows and report how many selected fills were used
Cost-adjusted break-even
The break-even calculation can include:
- Entry fee as a percentage of entry notional
- Exit fee as a percentage of estimated exit notional
- Exit friction in ticks
- Exit friction in price units
- Fixed entry cost per order
- Fixed exit cost
- Carry or funding adjustment
- Other cash cost or credit
Exit friction can be used to represent a configurable spread or slippage assumption.
Positive fee and cash values represent costs.
Negative percentage fees, carry values or other adjustments can represent rebates or credits where applicable.
The normalized calculation concept is:
Long break-even =
Exit friction
+ (((1 + entry fee rate) x average entry price) + cash cost per unit)
/ (1 - exit fee rate)
Short break-even =
(((1 - entry fee rate) x average entry price) - cash cost per unit)
/ (1 + exit fee rate)
- exit friction
The displayed Long break-even is rounded upward to the symbol's minimum tick.
The displayed Short break-even is rounded downward to the symbol's minimum tick.
Internal calculations retain the unrounded value.
Price Only and Full Cash models
The script separates price-based calculations from cash-converted calculations.
Price Only
Percentage fees and price friction can be calculated without a point value when no fixed cash adjustments are included.
This allows the average entry, break-even, Cost Delta and current-price distance to remain available even when a reliable point value is not available.
Full Cash
Fixed cash costs, realized P&L adjustments and estimated cash P&L require a valid point value.
The script uses the symbol's point value when available. A Point Value Override can be entered when the automatic value does not match the broker, exchange or contract specification being researched.
If cash costs are entered without a valid point value, the script does not silently ignore them. It displays a Point Value Needed state instead.
Chart display
The default Overview layout provides a compact summary of:
- AVG: weighted average entry price
- COST Delta: directional difference between average entry and break-even
- BE: cost-adjusted break-even price
- VS BE: directional distance between current price and break-even
The main chart visuals use:
- A cyan solid line for the weighted average entry price
- An orange dashed line for the cost-adjusted break-even
- A shaded Cost Gap between the average and break-even
- Optional fill markers
- An optional historical weighted-average path
- A compact Position Panel
A positive VS BE value means price is on the favorable side of the calculated break-even for the selected Long or Short position.
A negative VS BE value means price is on the unfavorable side.
This is an arithmetic position-status display. It is not a trading signal.
Position Panel
The Position Panel summarizes the position without requiring the user to inspect every setting.
Depending on the selected panel mode, it can display:
- Input method
- Long or Short side
- Weighted average entry
- Cost Delta
- Cost-adjusted break-even
- Current price distance from break-even
- Price Only or Full Cash model status
- Estimated net cash P&L
- Campaign Recovery break-even
- Next Fill preview
- Target Calculation result
- Fill concentration
- Weighted fill-price dispersion
- Effective fill count
- Calculation residual
The default Bottom Left position includes transparent clearance intended to reduce overlap with TradingView's bottom-left platform mark.
The panel can be set to:
- Off
- Compact
- Overview
- Detailed
Label layout and collision handling
Label placement can be set to:
- Auto
- Split
- Combined
- Right edge
- Off
Auto mode separates the AVG and BE labels when practical.
When the two levels are visually close, Auto mode combines AVG, BE and the cost difference into one label to reduce chart congestion.
The visual-separation model uses:
- The symbol's minimum tick
- ATR
- A recent high-low range
- The configured line span
These values act as price-space proxies for how close labels may appear.
Pine Script cannot read browser zoom, display DPI or exact on-screen pixel coordinates. The collision system therefore reduces likely overlap without claiming pixel-perfect detection.
Campaign and Next Fill labels yield to the primary AVG and BE labels when their levels are too close. Their values remain available in the Detailed panel.
The Current vs BE chart note is optional and disabled by default to keep the chart clean.
Scenario research
Campaign Recovery
Campaign Recovery calculates a separate break-even using manually entered realized P&L from previous partial exits.
A positive realized P&L value reduces the remaining recovery requirement.
A negative realized P&L value increases the remaining recovery requirement.
The result is an arithmetic recovery level based on the entered values. It is not a recovery guarantee.
Next Fill
Next Fill previews:
- New total quantity
- New weighted average entry price
- New cost-adjusted break-even after a proposed additional fill
This is a scenario calculation only. It is not a recommendation to add to a position.
Target Calculation
Target Calculation determines the arithmetic quantity required to reach either:
- A target average entry price
- A target fee-adjusted break-even price
The result is checked by reinserting the calculated quantity into the target calculation.
The resulting quantity is not a recommended, optimal or safe position size.
Adding to a position increases exposure and can magnify losses.
Fill statistics
When Individual Fills is used, the Detailed panel can display:
- Largest fill share
- Weighted fill-price dispersion
- Effective fill count
These statistics help users inspect whether the cost basis is concentrated in one large fill or distributed across several fills.
Alerts
The script provides factual alert conditions for:
- Price crossing the average entry
- Price crossing the cost-adjusted break-even
- Price entering the Cost Gap
- Price exiting the Cost Gap
- Price crossing the optional Campaign Recovery break-even
- Price crossing the optional Next Fill preview break-even
Alerts are evaluated on confirmed bars.
Alert conditions require:
- A valid position
- A healthy break-even calculation
- A standard chart
- A stable calculated level
Alerts are disabled on non-standard charts.
Users must create the desired alerts separately through TradingView's alert dialog.
Realtime and historical behavior
The script does not use future data, lookahead or higher-timeframe data requests.
Live Price mode allows the Position Panel to update during an open realtime bar.
Confirmed Close mode uses the most recent confirmed close while the current realtime bar remains unfinished.
Alerts remain confirmed-bar events regardless of the selected panel price mode.
Changing an input causes the chart history to be recalculated using the new settings.
When dated fills are enabled, each fill becomes active from its manually specified time.
Non-standard charts
Heikin Ashi, Renko, Kagi, Line Break and Point & Figure prices can be synthetic.
User-entered average and break-even levels remain arithmetic levels, but the chart close may not represent an executable market price.
For this reason:
- Current-price calculations are restricted by default
- A synthetic-chart warning remains visible
- Alerts are disabled on non-standard charts
Languages
On-chart text can be selected manually in:
- English
- Japanese
- Spanish
- Portuguese (Brazil)
- German
- French
- Simplified Chinese
- Traditional Chinese
- Korean
- Turkish
- Russian
- Indonesian
English can optionally be displayed alongside the selected language.
Pine Script does not automatically read the TradingView interface language. The display language must be selected manually in the indicator settings.
Settings use stable field identifiers such as:
- P for position settings
- C for cost settings
- F for individual fills
- R for research tools
- D for display settings
- A for advanced settings
An optional localized setup guide maps the main field identifiers to the selected on-chart language.
Main interface terms
AVG = Weighted average entry price
COST Delta = Cost impact between average entry and break-even
BE = Cost-adjusted break-even price
VS BE = Current price distance from break-even
ABOVE BE = Current price is above break-even
BELOW BE = Current price is below break-even
NEAR BE = Current price is within the configured near-break-even tolerance
FULL CASH = A point value is available for cash-converted calculations
PRICE ONLY = Price calculations are available without cash conversion
POINT VALUE NEEDED = A valid point value is required for the entered cash adjustments
Basic use
1. Select Known Average or Individual Fills.
2. Select Long or Short.
3. Enter the average price and remaining quantity, or enter the selected fill prices and quantities.
4. Enter the applicable entry fee, exit fee and exit friction.
5. Enable Detailed Cash Costs only when fixed cash, funding or other cash adjustments are required.
6. Enter a Point Value Override when the automatic symbol value does not match the relevant contract specification.
7. Select the preferred layout, panel position, language, contrast and label configuration.
8. Create any required confirmed-bar alerts through TradingView's alert dialog.
Limitations
- All position information is entered manually.
- The script does not read an actual broker position.
- The script does not read Trading Panel account data.
- The script does not place, modify or close orders.
- Partial exits are not detected automatically.
- Position flips are not detected automatically.
- Remaining quantity must be updated manually.
- Realized P&L must be updated manually.
- Taxes are not calculated.
- Actual trading fees can differ by broker or exchange.
- Actual spread and slippage can differ from the entered assumptions.
- Funding and carry costs can vary over time.
- Currency conversion is not calculated automatically.
- Point value can differ by broker, exchange and contract specification.
- Cash P&L estimates depend on the accuracy of the selected point value.
- Live Price values can change while a realtime bar is open.
- Non-standard chart prices may not represent executable market prices.
- Alerts are disabled on non-standard charts.
- Results depend entirely on the accuracy of the user's inputs.
- The script is an arithmetic visualization and research tool.
- It is not financial advice or a trade recommendation.
日本語概要
このインジケーターは、手動入力したポジションの数量加重平均取得単価と、手数料、スプレッド、スリッページ、固定費、資金調達費などを反映した費用調整後の損益分岐価格を表示するオープンソースの研究ツールです。
主な機能:
- 既知の平均取得単価、または最大8件の個別約定から計算
- ロング・ショート双方に対応
- 平均取得単価、コスト差、損益分岐価格、現在価格との差を表示
- Campaign Recovery、Next Fill、Target Calculation
- 約定集中度、加重分散、実効約定件数
- 確定足による事実通知アラート
- 12言語のオンチャート表示
ポジション情報はすべて手動入力です。ブローカーのポジションやTrading Panelの口座情報を読み取らず、注文も送信しません。
表示結果は入力した価格、数量、手数料、ポイント価値などの正確性に依存します。本スクリプトは算術可視化・研究用であり、金融助言や売買推奨ではありません。 อินดิเคเตอร์

Volatility Squeeze Breakout [JOAT]Volatility Squeeze Breakout
Finds volatility compression — when Bollinger Bands contract inside the Keltner Channel — and signals the directional release with a built-in energy gauge.
What it is
Markets alternate between coiling and expanding. This indicator detects the coil using the classic squeeze relationship between two well-known volatility envelopes, quantifies how much energy has built up, and then signals the breakout in the direction momentum actually resolves. It is an original implementation with a charge model and full trade framing, not a bare squeeze dot script.
How it works
• The squeeze — a squeeze is on when the Bollinger Bands (price standard deviation) contract entirely inside the Keltner Channel (ATR-based). This means realised volatility has fallen below its typical range and the market is compressing.
• Charge / energy — while the squeeze persists, the tool tracks how long and how tightly the market has been coiled and expresses it as a 0–100 charge. A longer, tighter coil stores more potential energy for the eventual expansion.
• Momentum direction — a smoothed momentum measure determines which way the coil is leaning, so the breakout is read directionally rather than as a neutral event.
• The release — a Buy fires when the squeeze releases with rising positive momentum; a Sell fires when it releases with falling negative momentum. The release is a discrete event, and a minimum-gap control prevents repeated prints around the same break.
Trade levels
On a signal, a red risk box marks entry to the ATR stop and a green reward box marks entry to the third target, with inner dividers and right-edge labels for entry, stop and each take-profit at your R multiples.
The dashboard
An adjustable energy-gauge panel shows the squeeze state, the charge that had accumulated at the moment of release, the momentum direction, a conviction estimate, the active signal, and a live first-target-before-stop tally from closed bars only.
How to use it
• Works on any asset and timeframe; volatility cycles exist at every scale.
• Watch the charge build during a squeeze, then act on the release in the momentum direction.
• Higher charge readings indicate a longer coil, which some traders treat as a higher-quality setup — but a big coil can still resolve in either direction, so the momentum gate matters.
Settings
Bollinger length and multiplier, Keltner length and ATR multiplier, momentum length, release and charge options, risk multiple and target R multiples, plus visual and dashboard controls.
Originality and usefulness
The squeeze concept is public domain; the value added here is the charge model that turns coil duration and tightness into a readable energy figure, the directional momentum gate on the release, and the integrated non-repainting trade framing — combined and explained so a trader can see exactly why each breakout is flagged.
Notes and limitations
• Squeeze breakouts can fail or fake out; a release does not guarantee follow-through.
• The charge measures compression, not direction — always confirm with the momentum reading and your own context.
• The tally reflects only past bars on the current chart and is not a prediction.
• Educational and analytical tool, not financial advice.
— made with passion by officialjackofalltrades
อินดิเคเตอร์
