Индикатор

Индикатор

Multi Cycle Session Boxes
Multi Cycle Session Boxes is an overlay tool that frames freely defined time windows with a box that grows with the price inside it.
It is built for anyone who keeps drawing the same rectangle over the same hours — a trading session, the run-up to a weekly close, a month, a season — and would rather have that window marked on every repetition without touching the chart again.
The principle is a plain comparison: each session holds a start point and an end point, and while the current bar falls between them the box tracks the highest high and the lowest low reached since the window opened.
There is no indicator arithmetic behind this; the entire calculation is calendar arithmetic carried out in a timezone of your choosing, which is what allows the same window to repeat on a daily, weekly, monthly or yearly cycle.
Seven such sessions run independently of one another, each with its own cycle, its own window and its own colors.
Timezone
Timezone: the timezone all seven sessions are evaluated in; Exchange follows the timezone of the symbol itself.
SESSION 1 (present seven times, SESSION 1–SESSION 7, each instance identically structured)
Show boxes: switches the session on or off.
Repeat: the cycle the window repeats on — Daily, Weekly, Monthly or Yearly.
It also decides which of the time fields below are evaluated.
Session 1 Time (Start:End)
Month: first and last month of the window, evaluated in Yearly only.
Day: first and last day of the window, evaluated in Weekly, Monthly and Yearly. In Weekly the day is counted from 1 for Monday to 7 for Sunday, otherwise it is the day of the month.
Hour: first and last hour of the window.
Minute: first and last minute of the window.
Session 1 Graphic
Fill: color of the box area.
Border: switches the border on or off, and sets its color and its width.
A box opens on the first bar that falls inside the window and is redrawn with every bar that follows: its upper edge sits at the highest high reached since the window opened, its lower edge at the lowest low, and its right edge moves along with the last bar still inside.
Once the window closes the box stays where it is, so what builds up on the chart is a record of what each repetition of that window actually contained.
Every session keeps its last seventy boxes and removes the oldest as new ones open, which keeps all seven of them together within what the platform allows a single script to draw.
The end of a window is exclusive: a window ending at 15:30 contains the bar before it, not the 15:30 bar itself.
A window whose end lies before its start is not discarded but crosses the boundary of its cycle instead, which is how an overnight session from 22:00 to 06:00 remains a single box.
If start and end are set to the same point, the window is open at all times and each box then spans one full cycle before the next one begins.
In Weekly the two day fields count only up to seven, and higher values are read as Sunday.
In Monthly and Yearly a day the calendar month does not have is never reached: an out-of-range start skips that repetition altogether, an out-of-range end carries the box through to the end of the month.
One point worth knowing before the first attempt: a window can only be resolved as precisely as the chart's timeframe permits.
A window from 12:00 to 15:30 needs bars that fall inside those hours — on a daily chart no bar begins at 12:00, so nothing is drawn there.
This indicator is intended solely for market analysis and does not constitute investment advice or a guarantee of success.
Use it at your own discretion and risk; past results are not indicative of future performance.
Индикатор

Candlestick Pattern ScannerCandlestick Pattern Scanner
Candlestick Pattern Scanner detects 28 classic Japanese candlestick patterns, 13 bullish, 13 bearish, 2 neutral, and qualifies every reversal pattern against its own prior-trend context, not candle shape alone. The same geometry (small body, long lower wick) reads as a Hammer after a downtrend and a Hanging Man after an uptrend.
HOW IT WORKS
Trend Engine, combines EMA slope, price displacement, market structure (higher-highs/higher-lows vs. lower-highs/lower-lows), and an optional efficiency-ratio directional weight into a 5-state trend read (Strong Downtrend to Strong Uptrend).
Off / Standard / Strict per pattern, every pattern is configured independently. Strict demands tighter geometric tolerance, a stronger prior trend, and better close/open placement than Standard.
Quality Score (0-100), geometry (40%), trend alignment (30%), proximity to a recent swing high/low (15%), and range-vs-ATR normalcy (15%). Ranks how far beyond the bare minimum a detection sits; it never changes whether a pattern fires, only how it's ranked and filtered.
Conflict resolution, when multiple patterns fire on the same bar, Display Mode picks what gets labeled: All, Highest Priority (multi-candle > two-candle > single-candle > neutral), or Highest Quality (default).
Built-in legend, a bottom-left table maps every abbreviation to its full pattern name.
BUILT-IN TRACKING
The Data Window keeps a running count of every pattern found, grouped Bullish/Bearish/Neutral with totals, a quick read on which patterns are actually showing up on this symbol/timeframe, not just single detections.
INPUTS
General: master Bullish/Bearish/Neutral toggles, Display Mode, Use Full Names, Show Quality Score, Minimum Quality.
Trend Engine: lookback, EMA lengths, strong/weak thresholds, efficiency-ratio toggle, ATR length, tolerance factors.
Pattern Configuration: Off/Standard/Strict per pattern, 28 total.
Appearance: bullish/bearish/neutral colors, label size/offset/transparency, legend table toggle.
Alerts: per-direction toggles and a minimum alert quality.
DISCLAIMER
This is an independent, original implementation of publicly known candlestick concepts, not a clone of, or claim of equivalence to, any specific commercial product. Every threshold is disclosed in the script itself. Classical candlestick patterns are not inherently predictive; use the Quality Score and your own back-testing to judge whether a given pattern/context combination has real edge on the symbol and timeframe you're trading, and always apply proper risk management.
Индикатор

Multi-Timeframe FVG [Custom]
A configurable Fair Value Gap (FVG) indicator that plots FVGs from up to 4 independent timeframes simultaneously on a single chart, with full control over how each timeframe's gaps look and behave.
Key features:
4 independent timeframes — enable any combination (e.g. 1min, 5min, 15min, 1H) at once, each with its own full set of settings.
True multi-timeframe display — a lower-timeframe FVG (e.g. 1min) still displays correctly on a higher-timeframe chart (e.g. 5min), and vice versa. Each timeframe has a toggle to control whether its gaps remain visible once the chart's timeframe is larger than that FVG's own timeframe.
Non-repainting — every FVG is confirmed only after the relevant candle closes on its own timeframe; nothing is drawn or evaluated on a still-forming candle.
Fully customizable appearance per timeframe — independent fill colour, border colour, border width, and border style (solid/dashed/dotted) for bullish and bearish gaps.
Optional midline — toggle a midline through each gap; its colour and thickness automatically match that gap's border, with its own line style.
Rectangles with optional extension — FVGs render as boxes, either a fixed width (in that timeframe's own bars) or continuously extending to the latest bar.
Fully customizable labels — optional label per gap with custom text (supports a {tf} placeholder), vertical position (top/mid/bottom), and horizontal alignment. Label size is set once globally. When a box is extending, right-aligned labels float a fixed number of chart bars ahead of price instead of getting stuck inside the box.
Per-timeframe lookback — control how many bars (of that timeframe) of history each timeframe scans and keeps, independent of the others.
Precise mitigation rule — a gap is only removed once a candle of its own timeframe closes fully across the far boundary of the gap, in the opposite direction. Chart-timeframe noise doesn't trigger it.
Notes:
All settings are grouped by timeframe in the inputs panel for quick adjustment.
This script is intended as a visual reference tool and does not generate trade signals. It is not financial advice — always do your own analysis before trading. Индикатор

Statistical Mapping - True + Midnight Open⚠️⚠️ IMPORTANT — READ BEFORE USING ⚠️⚠️
This indicator is an educational and analytical tool. It is not financial advice, not a signal service, and not a trading system. It does not tell you when to buy or sell.
Every number it shows is a HISTORICAL FREQUENCY measured on past data. It is not a probability, not a forecast, and not a guarantee. Markets change; a level that was reached on 70% of the last 90 days may be reached far less often over the next 90. Past behaviour never guarantees future behaviour.
Do not size positions off these levels alone. Do not treat a "Reach" percentage as an edge. Use this tool to understand context — how far this market normally travels — and combine it with your own analysis, your own risk management, and your own testing.
You are solely responsible for your trading decisions and any losses that result from them.
════════════════════════════════════════
WHAT THIS IS, IN ONE PARAGRAPH
Every trading day has a shape. Price opens, usually pokes a little way in the wrong direction, then travels in the direction it is actually going to close. Statistical Mapping measures both of those distances across the last N days and draws them on your chart as five levels around today's open. It tells you, before the day develops, roughly how far this market normally pulls back and roughly how far it normally runs.
════════════════════════════════════════
THE FIVE LEVELS
Working from the top of the screen down:
+D Upside distribution objective
-M Upside manipulation area
O The anchor open
+M Downside manipulation area
-D Downside distribution objective
"Distribution" (D) is travel in the direction the period closed. "Manipulation" (M) is travel against it, before the period resolved.
So on a day that closes UP:
- the run from the open up to the high is DISTRIBUTION
- the dip from the open down to the low is MANIPULATION
And on a day that closes DOWN, the mirror image.
That is why the levels are not symmetrical, and why -M sits above the open while +M sits below it. +D and -D are objectives. +M and -M are the areas where a move typically fakes out before doing what it was going to do anyway.
════════════════════════════════════════
CALCULATION METHODS:
BOTH MEDIAN & MEAN
MEAN ONLY
MEDIAN ONLY
---------------
TIMEFRAME EXAMPLES:
1 WEEK
4 HOUR
1 HOUR
---------------
OPTION TO CHOOSE THE NEW YORK MIDNIGHT OPEN AS THE DAILY OPENING PRICE
════════════════════════════════════════
HOW IT IS CALCULATED
For each of the last N completed periods (default 90 days), the script records:
Direction = up if close > open, down if close < open
If the period closed UP:
Distribution sample = high - open
Manipulation sample = open - low
If the period closed DOWN:
Distribution sample = open - low
Manipulation sample = high - open
It then takes the mean or the median of each set of samples and projects those two distances from the CURRENT period's open:
+D = today's open + distribution
-M = today's open + manipulation
+M = today's open - manipulation
-D = today's open - distribution
Mean is the arithmetic average — it is pulled around by outlier days such as CPI, FOMC or gap opens. Median is the middle value — it ignores those outliers and is usually the tighter, more realistic number.
"Both" mode draws a shaded zone spanning from the mean to the median instead of a single line. The WIDTH of that zone is itself information: a wide zone means the sample is skewed by a handful of violent days; a narrow zone means the market has been behaving consistently.
════════════════════════════════════════
THE STATISTICS TABLE — AND WHY IT MATTERS
For each level the table reports:
Level the level name
Price where the level currently sits
Dist how far that is from the anchor open, in price
Reach see below
Hit whether the current period has already traded through the level
In **Both** mode the chart draws a ZONE from the mean to the median, and the table reports the **near edge** of that zone — whichever of the two sits closer to the anchor open. That is the first price of the zone price actually reaches, so it is the number that matters in practice. Price, Dist, Reach and Hit all use that same near edge, so every column describes the same price, and the far edge stays visible on the chart as the other side of the band. Alerts use it too.
Hover any column header for a full explanation of that column. A compact footer row shows the mapping period, anchor mode, method, how many periods were actually usable, and how the sample splits between up-closing and down-closing periods.
IF YOU RUN BOTH MAPPING PERIODS AT ONCE
The table describes ONE mapping period at a time. Two periods have entirely different levels, distances and statistics, and interleaving them would produce a table nobody could read.
By default that is MAPPING PERIOD 1 — the first of the two timeframe slots. You can point it at period 2 instead with "Show Statistics For" in the statistics table settings.
If the period you pick is not on screen — its levels are hidden because your chart timeframe is not lower than it — the table falls back to the other one rather than showing you nothing.
The footer's first cell always names the period the table is describing, right next to the anchor mode and the calculation method, so you can confirm which one you are reading at a glance. The chart draws both sets of levels regardless; only the table is limited to one.
WHAT "REACH" MEANS, PLAINLY
Reach answers one question: out of the days in your lookback, how many of them actually got this far?
Worked example. Lookback is 90 days. +D sits 419 points above today's open, and Reach shows 25.6%.
That means: on 23 of the last 90 days, price traded 419 points or more above THAT day's open at some point during the day. On the other 67 days, it never got that far.
Nothing more than that. It is a count of past days, expressed as a percentage.
Why it is useful: a level on its own is just a line. Reach tells you whether that line marks something ordinary or something rare.
Low Reach (say 15-25%) — price rarely gets here. An extended target. If price
is already here, the day has done unusual work.
High Reach (say 70-80%) — price gets here on most days. Routine. Reaching it
tells you very little on its own.
The footer shows how many periods were actually usable and the up/down split, so you can always see the sample the numbers rest on.
Reach is a count of what happened on past days. It is not a probability of it happening today, and it is not a forecast.
════════════════════════════════════════
SAMPLE SELECTION — WHICH PAST PERIODS GET MEASURED
This is the setting that decides what the statistics actually describe, and it matters more than any other.
MATCHED (the default)
Only periods from the SAME SLOT are measured.
On an intraday mapping period that means the same time of day. With a 1H mapping at 09:15, the numbers come from the 09:00-10:00 hour of each of the previous days. At 10:00 the indicator switches to the 10:00-11:00 hour of those same days. On a 1D mapping period it means the same weekday — a Thursday is measured against previous Thursdays.
ROLLING
The last N periods in a row, whatever time of day they happened to be.
WHY THIS EXISTS
Markets do not behave the same at every hour. The New York open and the middle of the Asian session are different animals. Average them together and you get a number that describes neither.
The practical consequence is specific: on a 1H mapping, a rolling average of the last 90 hours is dominated by quiet hours, because most hours are quiet. Project that at 09:30 and the levels sit far too close in — price blows through them in the first ten minutes and the map looks broken. It is not broken; it was answering the wrong question. Matched sampling asks the right one: how far does THIS hour usually travel?
The same applies on a daily mapping. Mondays and Fridays do not behave like Wednesdays.
WHAT IT DOES TO "LOOKBACK"
In Matched mode, Lookback counts OCCURRENCES of the slot rather than consecutive periods. Lookback 90 on a 1H mapping means the last 90 appearances of that hour — roughly 90 trading days, not 90 hours. That is a much longer reach into history, which has one consequence worth knowing about, below.
WHEN IT DOES NOT APPLY
A 1W mapping period contains one of each slot, so there is nothing to match against. The indicator uses Rolling there and says so on the chart rather than pretending otherwise.
HONEST LIMITATION
Reaching back 90 occurrences of a slot means reaching back 90 days of data. On coarser mapping periods — 30m, 1H, 4H, 1D — that fits comfortably. On finer ones, 15m and below, it needs more intraday history than the script is given, so the sample comes up short.
The indicator does not hide this. The footer shows the real count as, for example, "n 46/90", and a notice explains that fewer samples were available and why. The levels remain valid; they simply rest on a smaller sample, and you can decide whether that is enough. Lowering Lookback removes the notice.
The table footer names the active slot, so you can always see exactly which pool the numbers came from — "1H 09:00" rather than just "1H".
ONE THING TO SET ONCE
That slot label has a time zone setting, in the statistics table section. It defaults to New York, which is the reference most index-futures and FX traders keep their charts on. If your chart is set to anything else, change it to match.
This is not laziness — Pine scripts genuinely cannot read TradingView's chart Time Zone setting. TradingView treats it as a display preference and gives scripts no access to it. So if you have changed your chart away from Exchange time, the label has no way of knowing until you tell it.
The practical case: MNQ trades on CME, whose exchange time zone is Chicago. A chart left on Exchange time therefore runs an hour behind New York. Set this to whatever your chart shows, once, and forget it.
It affects the LABEL ONLY. Slot grouping, every level, every statistic and every Reach figure are completely unaffected — changing time zone shifts every bar by the same amount, so exactly the same periods are grouped together either way.
════════════════════════════════════════
WHICH LEVELS GET REACHED ON WHICH KIND OF DAY
This falls straight out of how the levels are built, and it is worth understanding because it is most of what makes the tool useful.
+M and -M sit close to the open, because a typical day's counter-move is small. They get reached on most days — including slow, quiet, range-bound ones. Look at your own Reach column and they will usually be the two highest numbers in the table. That is exactly why price touching +M or -M, on its own, tells you very little. It is the normal texture of a day, not an event.
+D and -D sit much further out, because they represent a full typical day's directional travel. Price only gets there when the day has already moved further from its open than an average day manages. In practice that means TRENDING DAYS and HIGH-VOLATILITY DAYS — expansion sessions, news days, days that pick a direction in the morning and hold it. On a quiet range day price frequently never comes close to either one.
So the two pairs are answering different questions:
Price at +M / -M -> ordinary. The day is doing what days do.
Price at +D / -D -> this day is not ordinary. It has already
behaved like a trend or expansion day.
That second line is the practical one. Reaching a distribution level is itself information about the character of the session, before you form any view about what happens next.
Two honest caveats. First, this is a description of what the levels mean, not a prediction — nothing here says today will be a trend day. Second, "volatile" and "trending" are not the same thing and the tool does not distinguish them: a violent chop that swings 400 points in one direction and back can reach +D just as a smooth trend can. The level tells you the distance was covered, not how or in what order.
════════════════════════════════════════
HOW THIS DIFFERS FROM ADR / AVERAGE DAILY RANGE
ADR takes the average of (high - low) over N days and usually draws a band above and below either the open or the previous close. It answers one question: how big is a typical day?
Statistical Mapping answers a different and, I would argue, more useful set of questions.
WHERE IT GOES FURTHER THAN ADR
1. It compares like with like. ADR averages the last N days as one undifferentiated pool. On an intraday mapping period this indicator averages only the SAME TIME OF DAY — the 09:00 hour against previous 09:00 hours — and on a daily period only the same weekday. No ADR variant does this, and it is the difference between a projection that survives the New York open and one that price walks through in the first ten minutes.
2. It separates the range into direction. ADR gives you one number for the whole candle. Stat Map splits that candle into the part that travelled with the close and the part that travelled against it, and measures them separately. That is the difference between "the day is usually 300 points" and "the day usually pulls back 90 points before running 210".
3. It is asymmetric, and deliberately so. Because up-days and down-days are measured on their own terms, the upside and downside levels are not mirror images. ADR bands almost always are.
4. It offers the median, not just the mean. A single CPI day can inflate an ADR reading for weeks. The median is immune to that. Being able to flip between the two — and to see the gap between them in "Both" mode — is a diagnostic in its own right.
5. It reports how often each level was actually reached. This is the big one. ADR draws a line and stops. Stat Map tells you the historical frequency behind every line it draws.
6. It supports a NY Midnight anchor. For 24-hour markets the exchange's own daily open is often an arbitrary moment. Many traders work from 00:00 New York instead. The script rebuilds whole days around that time and recomputes every statistic from scratch, rather than just shifting a line.
7. It works on any mapping period, not only daily. Set it to 1W and you get the same decomposition for the weekly candle.
WHERE ADR IS THE BETTER TOOL, OR WHERE THIS ONE IS WEAKER
Being straight about this matters more than selling it.
1. It is more complicated. ADR is one number and anyone can use it in thirty seconds. This has five levels with a specific meaning each, and it will confuse a beginner who has not read the definitions above.
2. It needs a directional close to classify a period. A day that closes exactly at its open contributes to neither sample set. This is rare but it means the sample count can be slightly below your lookback setting.
3. The classification is only known in hindsight. A period is labelled up or down by its CLOSE. That is fine for building statistics from finished days, but it means the levels drawn on today's open are built on a mix of past up-days and past down-days — the script does not and cannot know which kind of day today will be. Both sides are drawn precisely because that is unknowable.
4. It is not adaptive within the period. The levels are fixed at the open and do not adjust as volatility develops during the session. ADR-style tools have the same limitation, but it is worth stating.
5. It says nothing about sequence or timing. It tells you how far, not when, and not in what order. A day that runs to +D at 09:45 and a day that grinds there by 15:55 look identical to this tool.
6. Regime changes take time to show up. With a 90-period lookback, a genuine shift in volatility takes weeks to be fully reflected. Shorten the lookback if you want faster adaptation — and accept a noisier, less stable reading in exchange.
Neither tool replaces the other. ADR sizes the day. This maps it.
════════════════════════════════════════
HOW TO USE IT — PRACTICAL
FOR BEGINNERS, START HERE
Put it on a 15m chart with the defaults, set Calculation method to Median, and just watch it for two weeks without trading it. Notice how often price dips to +M early and then turns. Notice how often +D holds as a high for the day. You are building an intuition for how far this market actually moves — which is the single most common thing new traders have no feel for.
There is no single "correct" way to trade this. The levels describe the shape of a period; which part of that shape is useful depends entirely on what you trade. The sections below cover the common approaches, and the range section is as important as the trend one.
INTRADAY / DAY TRADING
The manipulation levels (+M and -M) are where the tool earns its keep. If you are looking for longs and price has come down into +M, you are at the area where up-days have historically found their low. That is a location to look for your own entry trigger — not a signal by itself. The distribution levels (+D and -D) work the other way: they are where you consider taking profit rather than initiating, because price reaching there means the day has already done a typical day's work in that direction.
The anchor open (O) is a simple bias line. Above it, you are on the bullish side of the period; below it, the bearish side.
RANGE, CONSOLIDATION AND MEAN-REVERSION
This is the other half of the tool, and it is easy to miss if you only read the section above.
Most days are not trend days. On an ordinary session price spends its time between +M and -M, oscillating around the anchor open, and never comes close to +D or -D. That is not the tool failing — it is the tool telling you what kind of day it is.
For anyone trading ranges, consolidations, or short mean-reversion, the useful structure is the inner three levels and nothing else:
-M the upper edge of the ordinary daily range
O the middle, and the level price returns to most often
+M the lower edge of the ordinary daily range
Look at the Reach figures for +M and -M on your instrument. They are typically the two highest numbers in the table — commonly 55-80%. That is the whole point: these are levels price reaches on most days, including quiet ones. Approaches built around them are naturally higher-frequency and lower reward-to-risk than approaches built around +D and -D, which is a trade-off, not a flaw. Fading -M back toward the open, or buying +M back toward the open, is a coherent way to use this.
The anchor open is the natural target for that kind of trade, and often the natural invalidation for the opposite one.
TWO HONEST WARNINGS ABOUT THIS
First, and this matters: Reach measures how often price GOT to a level. It does not measure how often price REVERSED there. Those are completely different questions and this indicator only answers the first. A 75% Reach on -M means price traded there on three days in four — it says nothing whatever about what happened next. Do not read a high Reach as a high win rate.
Second, the trades that make range approaches work are the same trades that get destroyed on trend days. The day you fade -M is the day price runs to +D. That is precisely why the distribution levels are on the chart at the same time: if price is pushing through -M with conviction rather than stalling at it, the map is telling you this may not be a range day. Use the whole structure, not half of it.
SCALPING
Use the Reach column as a filter. If price is sitting just past a level with a 20% reach, the market is already in unusual territory for the session and further continuation in that direction has historically been the exception, not the rule. Conversely a level with 70% reach is barely a level at all — price gets there on most days and it is poor evidence of anything.
Also watch the Hit column. Once +D is ticked for the day, the remaining upside to a typical day's extension is spent.
SWING TRADING
Put 1W in mapping period 1, untick period 2, and drop the chart to 1D or 4H. (Slot
1 rather than slot 2 on purpose: alerts only ever fire from slot 1 — see ALERTS
below.) You now get the same decomposition for the weekly candle: how far a week typically pulls back before running, and how far it typically runs. Weekly +M often lines up with the sort of pullback entry swing traders wait for.
You can also run both at once — 1D and 1W together — on a 1H or 4H chart, to see where the daily and weekly structures agree.
CHOOSING MEAN vs MEDIAN
Median for normal conditions and for tighter, more conservative targets. Mean when you want the levels to account for the fat tail — around known event risk, for example. Both, when you want to see how far apart they are, because that gap is a direct read on how outlier-driven the recent sample has been.
════════════════════════════════════════
IMPORTANT BEHAVIOUR YOU SHOULD KNOW ABOUT
THE TIMEFRAME RULE — please read this one, it is the most common confusion
Your chart timeframe must be STRICTLY LOWER than the mapping period.
Mapping 1D -> chart must be 4H, 1H, 15m, 5m, 1m ...
Mapping 1W -> chart must be 1D, 4H, 1H ...
On a 1D chart the 1D levels will NOT appear. This is correct and intended: a period cannot be projected forward across a chart bar that already contains it. The script tells you so in a message at the bottom of the chart rather than failing silently. If you find that message annoying once you understand the rule, you can switch it off in the settings.
NY MIDNIGHT ANCHOR PRECISION
Days are rebuilt from 1-hour data, inside that data's own context rather than from your chart's bars. 00:00 New York falls on an hourly boundary for the futures, forex and crypto markets this mode is intended for, so the reconstruction is exact.
Because the reconstruction never touches chart bars, the anchor and every level are identical on every chart timeframe. A 5m chart, a 1H chart and a 4H chart all show the same prices.
The anchor mode applies to the 1D mapping only. Any other mapping period always uses that period's own true open.
DAYLIGHT SAVING TIME
Handled automatically, and worth explaining because it is a common source of doubt.
The script uses America/New_York, which is a full timezone rule rather than a fixed UTC offset. The anchor therefore tracks local New York clock time all year — EST in winter, EDT in summer — and its position relative to UTC shifts on its own at each changeover. You never need to adjust anything.
The two changeover days are 23 and 25 hours long. Days are rebuilt by watching the New York calendar date change, not by counting a fixed number of bars, so those two days are measured correctly as well: one simply contains one hour less of data, the other one hour more.
WHY THERE IS NO CUSTOM TIMEZONE OPTION
This is deliberate, for three reasons.
First, a technical one. Days are reconstructed from 1-hour bars, which is exact only because midnight New York lands on an hourly boundary. Several timezones are offset by a half or quarter hour — India, Iran, Nepal, parts of Australia — and there midnight falls in the middle of an hourly bar. The reconstruction would be quietly wrong rather than visibly broken, which is the worst kind of wrong.
Second, a conceptual one. The New York midnight open is a specific reference point that a large amount of flow actually keys off. It is not an arbitrary parameter. A free-form timezone box would imply every choice is equally meaningful, and most are not.
Third, an honest one about method. Offering a dial that changes every number in the table invites tuning it until the levels look good on the chart in front of you. That is curve-fitting, and it makes the statistics worse while feeling like it makes them better.
If you want a different anchor, the True Daily Open mode already gives you the exchange's own reference, which is the other genuinely meaningful one.
SAMPLE SIZE
If your data history cannot supply the number of periods you asked for, the table footer shows what was actually used and a message appears on the chart. The statistics are still valid, they are just built on fewer samples. Be more sceptical of a Reach figure built on 20 periods than one built on 200.
WHAT "TRUE DAILY OPEN" MEANS ON YOUR INSTRUMENT
It is the open of the 1D candle exactly as TradingView builds it for that symbol — so it follows each market's own session definition rather than imposing one:
US stocks 09:30 New York (regular session)
Euronext stocks 09:00 local exchange time
CME index futures 18:00 New York, previous day
Other futures that product's own session start, which differs by complex (grains, energy, metals and softs do not all open at the same time)
Forex and CFDs typically 17:00 New York
Crypto 00:00 UTC
One thing worth knowing: for instruments with a pre/post market, the daily candle follows YOUR CHART'S extended-hours setting. Turn extended hours on for a US stock and the daily open becomes the pre-market open rather than 09:30. That is consistent with what you see on the chart, but it does mean two traders looking at the same stock with different session settings will see different levels. If that matters to you, fix your chart's session setting and leave it alone.
If you trade something unusual and want to be sure, put the indicator on a 1H chart and compare the O line against the open of the daily candle on a 1D chart. They should match to the tick.
THE SAME ON EVERY CHART TIMEFRAME
Everything the script draws is read from the mapping period's own context, never rebuilt from chart bars. Put a 1W mapping on a 1D chart, then a 4H, then a 1H, then a 5m: the anchor, all five levels and every statistic are the same prices every time.
That is a deliberate design decision, not a detail. Rebuilding the anchor from chart bars cannot guarantee it, because bar alignment, session definitions, holidays and gaps all differ between timeframes — and a level that moves when you change timeframe is worse than no level at all.
REPAINTING
No level moves once it is drawn. Every level is fixed the moment its period opens and stays there until the next period begins.
Being precise about how that holds, since the script does use lookahead:
1. Every statistic — the means, the medians, the Reach percentages, the
sample counts — is computed from COMPLETED periods only. The forming
period's high, low and close never enter any of them. This is the part
that would leak the future, and it does not.
2. The five levels are built from those statistics plus the current period's
OPENING price, and drawn between its start and end timestamps. All three
of those are known the instant the period begins, so reading them ahead is
not future information. This is the standard, documented way to anchor a
higher-timeframe open.
3. One further value is read: the current period's running high and low. It
feeds exactly one thing — the Hit column, which reports whether the period
SO FAR has traded through a level — and that column is only ever drawn on
the last bar, where "so far" means right now. No level, no statistic and no
alert depends on it, and nothing about it is plotted historically.
Point 3 is worth stating plainly because it is the kind of thing that deserves scrutiny in an open-source script. It is read from the period's own context rather than rebuilt from chart bars for a concrete reason: on a live chart, a script is not guaranteed to calculate over the full period, so counting back through chart bars can silently measure only a recent slice of it — and do so differently in Bar Replay than in real time.
WHEN THERE IS NOT ENOUGH HISTORY
If the symbol does not have as many completed periods as your Lookback asks for — 90 weekly periods is nearly two years, and plenty of symbols do not have that — the script does not hide anything and does not error out.
It uses every period that does exist, shows the real count in the table footer as for example "n 47/90", and puts a notice at the bottom of the chart telling you the sample is smaller than you requested. The levels remain valid; they simply rest on fewer samples, and you can decide whether that is enough for you. Lowering Lookback to a number the symbol can actually supply removes the notice.
The statistics table never disappears because of missing data. If a value genuinely cannot be computed it reads n/a, so you can always see what the script is and is not able to do.
════════════════════════════════════════
SETTINGS
1 — MAPPING PERIODS
Two independent slots, each with its own on/off toggle. Defaults are 1D on, 1W off.
Daily anchor mode: True Daily Open, or NY Midnight Open (00:00 America/New_York).
Lookback: how many completed periods feed the statistics. Default 90. In Matched sampling this counts occurrences of the current slot.
Sample Selection: Matched or Rolling. Defaults to Matched. See the section above.
Calculation method: Mean, Median, or Both. Defaults to Both.
2 — "BOTH" MODE ZONES
Fill colours for the mean-to-median zones. Sits directly under Calculation method because it only has an effect when that is set to Both.
3 — LEVEL LINES, COLOURS & LABELS
Colour, line style and thickness for each of the five levels, listed in the same top-to-bottom order they appear on the chart. Level labels can be turned off.
4 — STATISTICS TABLE
On/off; which mapping period it describes (defaults to period 1); slot label time zone (defaults to New York; set it to match your chart); position (all eight edge and corner slots, including top and bottom centre; defaults to Middle Right); text size (defaults to Normal).
5 — ALERTS
Which levels can fire, and what counts as reaching one.
6 — WARNINGS
On/off for the on-chart notices described above. The warning panel automatically places itself away from the statistics table, so the two never overlap wherever you put the table.
════════════════════════════════════════
ALERTS
Six alert conditions are available:
+D reached
-M reached
Open crossed
+M reached
-D reached
Any enabled level
ALERTS COME FROM MAPPING PERIOD 1 ONLY . Worth stating plainly, because nothing on
screen will tell you otherwise: if you untick mapping period 1 and run only period
2, these six conditions still appear in TradingView's dropdown and you can still
create the alert — it simply never fires. If you want alerts on a particular
period, put that period in SLOT 1.
Settings section 5 controls two things. First, which levels are allowed to fire — untick a level and it will never trigger, even if you created an alert for it. Second, what counts as reaching a level:
Touches the level (wick) — fires as soon as any part of the bar reaches the
level. Earlier and more sensitive.
Closes beyond the level — fires only when a bar CLOSES past it. Later, and
fewer false triggers.
TO CREATE AN ALERT
1. Set the tickboxes in section 5 the way you want them, then press Ok.
2. Right-click the chart and choose Add alert (or press Alt+A).
3. In the Condition dropdown at the top, select "Stat-Map (Gigi)".
4. In the second dropdown, pick the level you want. Use "Any enabled level" if
you would rather have one alert covering all of them.
5. Set Trigger to "Once Per Bar Close" for confirmed signals, or "Once Per Bar"
for intrabar.
6. Press Create. Repeat for each level you want separately.
The levels jumping to new prices at the start of a period never by itself sends an alert. A genuine touch on that opening bar does, though — an opening bar that runs from the anchor open straight into a level is a real event, and both the Hit column and the alerts treat it as one.
════════════════════════════════════════
Open source under the Mozilla Public License 2.0. You are welcome to read, learn from and build on the code.
Feedback and bug reports are genuinely welcome — if you find a symbol or timeframe where something looks wrong, please say so.
— Gigi_Luigino Индикатор

Trading ATR Framework# Trading ATR Framework
**Trading ATR Framework** is a rule-based volatility and market-location tool designed primarily for intraday futures trading.
The purpose of the indicator is not to generate automatic buy or sell signals. Instead, it provides a structured way to measure how far the current market has moved relative to its recent daily volatility and to identify predefined volatility expansion zones.
## Core Concept
The framework uses two main reference values:
1. **Previous Daily Close**
The previous completed trading day's close is used as the default reference price.
2. **Daily ATR(14)**
The indicator calculates the Average True Range over the last 14 completed daily bars. ATR measures the average daily price range and is used as a volatility reference.
From these two values, the indicator projects symmetrical volatility levels above and below the reference price.
The calculated levels are:
* +25% ATR
* +50% ATR
* +75% ATR
* +100% ATR
* -25% ATR
* -50% ATR
* -75% ATR
* -100% ATR
For example, if the previous daily close is 20,000 and the completed Daily ATR(14) is 400 points, the +25% ATR level would be:
**20,000 + (400 × 0.25) = 20,100**
The -50% ATR level would be:
**20,000 - (400 × 0.50) = 19,800**
This creates a standardized volatility map around the previous session's closing price.
## Why I Created This Framework
Many intraday traders evaluate price levels without considering how far the market has already travelled relative to its normal daily volatility.
This framework combines:
* previous-session price anchoring,
* completed Daily ATR volatility,
* fractional ATR expansion levels,
* tick-size normalization,
* directional location,
* and risk-to-reward calculations
into one visual framework.
The goal is to make market location more objective.
Instead of simply asking whether price is bullish or bearish, traders can evaluate questions such as:
* Is price still close to the previous daily close?
* Has the market already expanded 50% of its normal daily ATR?
* Is price approaching a 75% or 100% ATR expansion?
* Is a potential entry occurring early or late within the current volatility expansion?
* Does the available distance to the next relevant level justify the risk?
## Directional Context
The indicator also displays the current position of price relative to the ATR framework.
Price trading above the reference close indicates positive expansion, while price trading below the reference close indicates negative expansion.
This directional information is intended as **market context**, not as an automatic trend or trade signal.
A market trading above +50% ATR, for example, is in a very different volatility location than a market trading only +10% above the previous close.
The trader can use this information together with market structure to determine whether the market is:
* expanding,
* consolidating,
* approaching an extended volatility area,
* or returning toward its reference price.
## How to Use the Indicator
A typical workflow is:
**1. Identify market direction and structure**
Evaluate the broader session structure, previous highs and lows, trend direction, consolidation areas, or other structural references.
**2. Check the current ATR position**
Determine where price is currently located relative to the previous daily close and the projected ATR levels.
**3. Evaluate volatility expansion**
Consider whether the market is still in an early expansion area such as 25% ATR or has already reached a more extended area such as 75% or 100% ATR.
**4. Look for confirmation**
ATR levels are not intended to be traded mechanically.
They can be combined with tools such as:
* price action,
* support and resistance,
* volume,
* volume profile,
* order flow,
* footprint charts,
* delta,
* liquidity,
* session highs and lows,
* or other trader-defined confirmation methods.
**5. Evaluate risk-to-reward**
The built-in risk-to-reward tool can be used to compare the intended stop distance with a target based on a 2.5R reward-to-risk relationship.
## Tick-Size Normalization
ATR calculations can produce prices that do not correspond exactly to the minimum tick size of a futures contract.
The indicator therefore rounds calculated ATR levels to the instrument's valid tick size.
This makes the projected levels easier to use with futures contracts such as:
* NQ / MNQ
* GC / MGC
* CL / MCL
The framework can also be applied to other instruments where ATR-based volatility mapping is useful.
## Manual Reference Mode
By default, the framework uses the automatically calculated previous daily close and Daily ATR(14).
Optional manual inputs allow traders to override:
* the reference/settlement price,
* and the ATR value.
This can be useful when a trader wants to work with an exchange settlement value, an externally calculated ATR value, or another manually defined session reference.
## Risk-to-Reward Calculator
The indicator includes a simple **2.5R risk-to-reward calculation**.
This feature is intended to help traders evaluate whether sufficient price space exists between a potential entry, stop level, and target.
It is a planning tool and does not automatically determine whether a trade should be taken.
## Alerts
Alerts can be configured for important ATR level crossings.
This allows traders to monitor when price enters or crosses predefined volatility expansion zones without continuously watching the chart.
## Intended Markets
The framework was primarily developed for intraday futures markets, especially:
**Nasdaq**
NQ / MNQ
**Gold**
GC / MGC
**Crude Oil**
CL / MCL
However, because the calculations are based on price and ATR rather than instrument-specific signals, the framework can also be applied to other liquid markets.
## Important Interpretation
ATR measures volatility, not direction.
Reaching +75% ATR does not automatically mean price should reverse.
Likewise, reaching -100% ATR does not automatically mean a market should be bought.
Strong directional markets can continue beyond a full Daily ATR.
The ATR levels should therefore be interpreted as **volatility and decision zones rather than standalone entry signals**.
The framework is designed to answer:
**"Where is the market currently trading relative to its normal daily volatility?"**
The final trading decision remains dependent on market structure, confirmation, execution rules, and risk management.
Индикатор

Volume Profile ML [PickMyTrade]🔷 WHAT IT MEASURES
🔸 A rolling volume profile — traded volume binned across price, weighted triangularly around each bar's typical price rather than spread evenly across its whole range
🔸 Nine properties of every ARRIVAL at a high or low volume node — its share of row volume, rank percentile, local thickness, approach displacement, distance from the Point of Control, position within the profile, volume surge on approach, profile concentration, and position within the Value Area
🔸 An arrival resolves as a hold or a break by real price movement, checked in that order — undecided arrivals are discarded, not counted as failures
🔸 The Point of Control, Value Area, and every high and low volume node redraw on a rolling cadence as the window moves
――――――――――――――――――――――――――――――――――――――
🔷 THE ML ENGINE
🔸 A Lorentzian K-nearest-neighbour classifier, weighted by distance rather than counted equally, trained continuously as arrivals resolve — no repainting, no lookahead
🔸 Nothing about a node's absolute price is used as a feature — only how price approached it and what the node itself looked like
🔸 The vote shrinks toward the chart's own base rate when few neighbours are close, so a thin library never reads as confident
🔸 When the nearest analogues in the library aren't actually close, the script says so — "no analogue" instead of a percentage built on a bad match
🔸 Below a configurable warmup count it reads LEARNING, not a guess
――――――――――――――――――――――――――――――――――――――
🔷 SIGNALS AND DISPLAY
🔸 A circle marks a high-conviction read, a triangle a standard one — shape carries strength, colour carries direction
🔸 Blue for acceptance, orange for rejection, grey for anything that hasn't earned a direction yet, the same three colours across the profile, the vote, and the dashboard
🔸 An info table with Point of Control, Value Area, library size, the chart's own base rate, and the live analogue distance against its configured ceiling
🔸 3 alertconditions, worded as observations of what the classifier's reading — never as trade instructions
――――――――――――――――――――――――――――――――――――――
🔷 INPUTS
Profile Lookback / Rows — bars the profile is built from, and how finely it's binned. Default 240 / 48.
Rebuild Cadence — bars between profile recalculations. Default 5.
HVN / LVN Percentile — the volume percentile a row must clear to count as a high or low volume node. Default 80 / 20.
Re-arm Distance — minimum bars before the same node can register a new arrival. Default 10, floored at the resolution timeout.
K Neighbours / Library Cap — how many analogues vote, and how many resolved arrivals are retained. Default 9 / 100.
Shrinkage Weight — how hard a thin neighbourhood is pulled toward the base rate. Default 4.0.
Max Analogue Distance — the ceiling above which the vote reads "no analogue" instead of a percentage. Default 4.0.
Reject / Break Threshold — how far price must travel back, or close beyond, a node to resolve a test. Default 0.8 / 0.5 ATR.
Resolution Timeout — bars before an unresolved arrival is discarded. Default 25.
Conviction Threshold — vote at or above which an arrival is marked high conviction. Default 0.65.
――――――――――――――――――――――――――――――――――――――
🔷 REQUIREMENTS AND LIMITATIONS
🔸 The library is built forward from the chart's own loaded history — scroll back to load more and the script relearns from the new starting bar, so earlier votes can differ from what you saw before. This is bar history dependence, not repainting — no value changes after its own bar closes within a single run.
🔸 On instruments with no volume feed the profile itself carries no meaning, and the dashboard says so rather than showing an empty one anyway
🔸 Below the warmup count a node's own read is thin — the library size travels with every vote so that's never hidden
🔸 This script reports how historical arrivals resolved. It does not predict, and it is not a trading system on its own.
――――――――――――――――――――――――――――――――――――――
Built in Pine Script v6. Open source — Mozilla Public License 2.0. Индикатор

Coinbase Premium Barometer by tf1803 COINBASE PREMIUM — BAROMETER
WHAT IT DOES
This indicator measures the price difference between Coinbase — the regulated
US exchange where buyers pay in actual dollars — and an offshore reference
exchange quoted in USDT (Binance by default). That spread is a proxy for where
demand is coming from.
Above zero → Coinbase is more expensive. US buyers are paying up.
Below zero → Coinbase is cheaper. Selling pressure sits on the US side.
It is a context tool, not an entry signal. Its value lies in whether the spread
confirms or contradicts what price is doing.
HOW IT IS CALCULATED
Premium (USD) = Coinbase price − reference price
Premium (percent) = (Coinbase price − reference price) / reference price × 100
Both exchanges are requested on the timeframe of your chart, with no lookahead.
An optional USDT depeg adjustment converts the reference price into real dollars
via USDT/USD before comparing. This removes the portion of the spread that only
exists because the stablecoin itself is trading off its peg — useful during
periods of stablecoin stress, when a raw spread overstates the actual demand
imbalance.
FEATURES
- Absolute USD or percentage display
- Any symbol pair — works for ETH, SOL or anything listed on both venues
- Optional USDT depeg correction
- Signal moving average (EMA or SMA) to read the trend rather than the noise
- Extreme detection, either adaptive (standard deviation bands) or fixed
thresholds, with background shading
- Automatic trendlines connecting the last two pivot highs and pivot lows of
the premium itself, extended right — shows when a premium regime is losing
momentum before the zero line is crossed
- Markers at every zero crossing
- Info box with the current value, the signal MA and a Z-score
- Six alert conditions: zero crossings in both directions, signal MA crossings,
and entries into either extreme
HOW TO USE IT
Add it to a daily chart first. The daily is where the reading is cleanest; on
low timeframes the spread becomes noisy and the EMA smoothing input (try 5)
becomes necessary.
Then watch the relationship, not the number:
- Price rising while the premium stays negative — the move is not carried by US
spot demand. Weaker than it looks.
- Price rising with the premium turning positive — demand and price agree.
- Premium making higher lows while price chops sideways — accumulation building
under the surface. The automatic trendlines are there to make exactly this
visible.
- Extremes in either direction tend to mean-revert. They mark exhaustion more
often than continuation.
NOTES AND LIMITATIONS
Single spikes are noise. The signal is in the trend over days and weeks.
Part of any spread is structural rather than informational: USDT can trade off
its dollar peg, and the two venues differ in fees, liquidity and depth. The
depeg option addresses the first of these; the others remain.
The indicator reads the same on every chart it is applied to, because it pulls
both legs from the symbols set in the inputs rather than from the chart symbol.
This is a market-structure tool for context. It is not financial advice and
makes no claim about future prices.
COINBASE PREMIUM — BAROMETER
WAS ER MACHT
Der Indikator misst die Preisdifferenz zwischen Coinbase — der regulierten
US-Börse, an der in echten Dollar gekauft wird — und einer Offshore-Referenzbörse
in USDT (voreingestellt Binance). Diese Differenz ist ein Näherungsmaß dafür,
woher die Nachfrage gerade kommt.
Über null → Coinbase ist teurer. US-Käufer zahlen auf.
Unter null → Coinbase ist günstiger. Der Verkaufsdruck sitzt in den USA.
Es ist ein Kontextwerkzeug, kein Einstiegssignal. Der Wert liegt darin, ob die
Differenz bestätigt oder widerspricht, was der Preis tut.
BERECHNUNG
Premium (USD) = Coinbase-Preis − Referenzpreis
Premium (Prozent) = (Coinbase-Preis − Referenzpreis) / Referenzpreis × 100
Beide Börsen werden auf der Zeiteinheit des Charts abgefragt, ohne Lookahead.
Optional lässt sich der USDT-Depeg herausrechnen: Der Referenzpreis wird über
USDT/USD in echte Dollar umgerechnet, bevor verglichen wird. Das entfernt den
Anteil der Differenz, der nur daher kommt, dass der Stablecoin selbst von seiner
Bindung abweicht.
FUNKTIONEN
- Anzeige in absoluten USD oder in Prozent
- Beliebiges Symbolpaar — funktioniert für ETH, SOL und alles, was an beiden
Börsen gelistet ist
- Optionale USDT-Depeg-Korrektur
- Signal-MA (EMA oder SMA), um den Trend statt des Rauschens zu lesen
- Extremerkennung wahlweise adaptiv (Standardabweichungsbänder) oder über feste
Schwellen, mit Hintergrundfärbung
- Automatische Trendlinien auf dem Premium selbst, gezogen zwischen den letzten
beiden Pivot-Hochs bzw. -Tiefs und nach rechts verlängert — macht sichtbar,
wenn eine Phase ausläuft, bevor die Nulllinie gekreuzt wird
- Markierungen an jedem Nulldurchgang
- Info-Box mit aktuellem Wert, Signal-MA und Z-Score
- Sechs Alarmbedingungen: Nulldurchgänge in beide Richtungen, MA-Kreuzungen und
das Erreichen beider Extrembereiche
ANWENDUNG
Zuerst auf dem Tageschart. Dort ist die Ablesung am saubersten; auf kleinen
Zeiteinheiten wird die Differenz verrauscht, dann ist die EMA-Glättung nötig
(Startwert 5).
Dann auf das Verhältnis achten, nicht auf die Zahl:
- Preis steigt, Premium bleibt negativ — die Bewegung wird nicht von US-Spot-
Nachfrage getragen. Schwächer, als sie aussieht.
- Preis steigt und das Premium dreht ins Positive — Nachfrage und Preis stimmen
überein.
- Premium bildet höhere Tiefs, während der Preis seitwärts läuft — darunter baut
sich etwas auf. Genau dafür sind die automatischen Trendlinien da.
- Extreme in beide Richtungen neigen zur Rückkehr zum Mittel. Sie markieren
häufiger Erschöpfung als Fortsetzung.
HINWEISE UND GRENZEN
Einzelne Ausschläge sind Rauschen. Die Aussage liegt im Verlauf über Tage bis
Wochen.
Ein Teil jeder Differenz ist strukturell und nicht informativ: USDT kann von der
Dollarbindung abweichen, und die beiden Börsen unterscheiden sich in Gebühren,
Liquidität und Markttiefe. Die Depeg-Option adressiert den ersten Punkt, die
übrigen bleiben.
Der Indikator zeigt auf jedem Chart dasselbe, weil er beide Seiten aus den in
den Einstellungen gesetzten Symbolen zieht und nicht aus dem Chartsymbol.
Ein Werkzeug zur Marktstruktur-Einordnung. Keine Anlageberatung und keine
Aussage über künftige Kurse.
Индикатор

LINK Above $12.20: Is $15 Back on the Table?Hey traders! 👋
After that solid push higher, LINK is now pulling back into the breakout zone, so $12.00–$12.20 is back on my radar. This was the area that kept a lid on price through most of August and I still see it as the key zone for keeping the bullish structure alive.
I’m definitely not the guy who wants to jump on a moving train just because everyone else is buying. 😄 My plan is simple and emotionless: close above $12.20, then checks three things before entering: price above the long-term SMA 200, RSI 14 above 50, and a bullish MACD 12/26/9.
This filter keeps us away from fake breakouts that lack real momentum.
For the trade itself, my preferred entry zone is $12.20–$12.30 after confirmation. With the strategy’s default settings, the SL is 1.5% below entry, which puts it around $12.02–$12.12, while the mechanical TP is 3% above entry, around $12.57–$12.67. These levels are calculated automatically from the actual entry price rather than being fixed on the chart.
📈 Where could LINK go next?
If LINK gets back above $12.20 and keeps the momentum going, $13.67 is the next level I’m watching closely. Above that, we have $14, and if buyers can push through that area cleanly, the bigger $15–$15.50 zone starts looking pretty interesting.
What about support?
🟢 $12.00 - key psychological support
🟢 $11.50 - first lower support
🟢 $11.00 - next support zone
🟢 $10.70 - deeper technical support
The beauty of this setup? No guessing tops or bottoms. We just wait for buyers to show up, let RSI and MACD confirm and execute.
So, what would you do here? 👀 Take the breakout above $12.20, or wait for LINK to clear $13.67 before getting involved? Drop your setup in the comments.
Disclaimer: Trading crypto involves substantial risk, and this is only my personal read of LINK’s market structure, not financial advice. I always define invalidation before entering, size positions carefully, and accept that price can do something different from my base case.
Стратегия

Индикатор

MOYA Quarterly Theory & Higher Timeframe [RealSebastianMoya]Hello traders!
Introducing: "MOYA Quarterly Theory & Higher Timeframe Suite"
Two tools in one indicator: a higher timeframe candle overlay projected directly onto your current chart, and a complete map of Quarterly Theory sessions (Q23/Q90/Q360) — the fractal time framework behind how many ICT/Smart Money traders read the trading day.
♦ Module 1 — Higher Timeframe Candle Overlay
What it does: Draws the candles of a higher timeframe (any of 35 options, from 1 minute to 7 months) directly on your current chart, without switching timeframes or opening another window. Each higher timeframe candle appears as its own box with a wick, updating live as it forms, and carries a text label showing exactly which timeframe it represents (e.g. "5D", "4H", "1W").
Why it matters: When trading on a lower timeframe (1m, 5m, 15m), losing sight of higher timeframe context is the most common mistake. Instead of constantly switching charts to check "what is the 4H candle doing right now?", you see it forming live, right next to your current price action, without breaking focus on your entry.
Settings:
• candlestick overlay — pick the timeframe to project (any of 35 options, from 1 minute to 7 months)
• Bullish/Bearish Fill Color and Line Color — independent colors for bullish and bearish candles
• Candle Body Transparency — how transparent the candle body is
• Line Thickness — border and wick width
• Show Timeframe Label — toggles the text label shown on each candle (e.g. "5D")
• Timeframe Label Color / Opacity / Size — color, opacity, and size of that label, fully independent from the rest of the styling
♦ Module 2 — Quarterly Theory (Q23 / Q90 / Q360)
The Theory
Quarterly Theory is a fractal analysis framework: the same 4-phase pattern repeats at different nested time scales within the trading day. The four phases are:
• Q1 — Accumulation: the initial range where a position is built, slow and contained movement.
• Q2 — Manipulation: a move that breaks outside the Q1 range (often a liquidity raid), designed to trap positions in the wrong direction.
• Q3 — Distribution: the real directional move — where price actually goes after the manipulation.
• Q4 — Continuation/Reversal: either continues the Q3 direction, or reverses — depending on higher timeframe context.
The Fractal Nesting — Q360 → Q90 → Q23
This indicator draws three levels of this same pattern, one nested inside the other:
Level 1 — Q360 (6-Hour Sessions): The full trading day divides into 4 six-hour sessions, each acting as one phase of the daily cycle:
• Asia (18:00-00:00 UTC) = Q1
• London (00:00-06:00 UTC) = Q2
• New York (06:00-12:00 UTC) = Q3
• CBDR / PM (12:00-18:00 UTC) = Q4
Level 2 — Q90 (90-Minute Sessions): Each of those 4 six-hour sessions subdivides into 4 quarters of 90 minutes — repeating the same Accumulation → Manipulation → Distribution → Continuation pattern, now at intraday scale within that specific session.
Level 3 — Q23 (~23-Minute Sessions): Each 90-minute quarter subdivides again into 4 micro-quarters of roughly 23 minutes — the same pattern, repeated a third time, at the finest scale.
The core idea: if you know which "quarter" of the larger cycle you're in, you know what behavior to expect from price at that moment — it isn't random, it's the same structure repeating fractally.
Settings
• UTC Offset — adjusts all session times to your own timezone
• Use Exchange Timezone — uses the symbol's exchange timezone
• instead of a manual offset
Show Q23 / Q90 / Q360 — toggles each fractal level independently
• Box Transparency / Border / Labels / Line Width — fully independent styling per level (Q23, Q90, Q360)
• Individual Sessions (Asia / London / New York / CBDR) — every quarter of every level has its own time window, label text, color, and show/hide toggle — so you can, for example, turn off just London's Q2 without touching anything else
Technical note: Q90 only displays on timeframes of 15 minutes or lower, and Q360 only between 15 and 60 minutes — this is intentional, since these quarters lose visual meaning on timeframes where a single candle already spans several hours.
♦ How To Use It — Practical Example
1. Identify which 6-hour session (Q360) you're in — for example, New York.
2. Within that session, identify which 90-minute quarter (Q90) you're in.
3. If you're in Q2 (Manipulation) of that 90-minute window, expect a move that breaks the prior range — don't take it as a genuine breakout yet.
4. Once you're in Q3 (Distribution), that's where the genuine directional move is expected — the highest-probability window to take an entry in the day's real direction.
5. Run Module 1 (HTF Overlay) in parallel — if the higher timeframe candle you're projecting confirms the same direction as your Q3, you have confluence between the fractal context and the higher timeframe context.
Индикатор

Minawesome's Best lightweight, timeframe-adaptive overlay combining four structural concepts into one indicator, built with a deliberately restrained color palette (one hue for structure, one for bullish signals, one for bearish) so it stays readable instead of turning your chart into a wall of boxes.
WHAT IT PLOTS
- CRT / PO3 Range — plots the previous higher-timeframe candle's high and low (default 4H, adjustable to any timeframe) and flags when price sweeps outside that range and closes back inside it, the manipulation-then-reversal pattern the CRT/PO3 model is built around.
- Fair Value Gaps (FVG) & Inverse FVGs (IFVG) — detects standard 3-candle imbalances and tracks their full lifecycle: an FVG that gets closed through flips into an IFVG (its role inverts from support to resistance or vice versa), and an IFVG that itself gets reclaimed is removed from the chart entirely. Zones age out automatically after a configurable number of trading sessions (not bars), so the lifetime means the same thing whether you're on a 1-minute or 1-hour chart.
- SMT Divergence — compares swing highs/lows on your chart against a correlated symbol (default ES for NQ/MNQ charts, configurable to anything) and flags when the two disagree — e.g. your symbol makes a new high while the correlated symbol fails to confirm it.
- Prior Day High/Low & Session VWAP — standard reference levels, shown only on intraday timeframes since they don't mean anything on daily+ charts.
Every layer has its own on/off toggle, and hovering any marker shows a tooltip with the specific detail behind that signal, so the chart itself can stay clean.
DESIGNED FOR
Built and tested against NQ/MNQ futures, but the underlying logic (FVG/IFVG, SMT, CRT) is instrument-agnostic and works on any liquid symbol with a reasonable correlated pair for the SMT layer.
DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, and nothing it plots — including FVG/IFVG zones, SMT divergence, or CRT signals — is a guarantee of future price direction or trading profitability. These are discretionary technical-analysis concepts (Fair Value Gaps, Inverse FVGs, SMT divergence, and the CRT/PO3 model originate from the ICT/Smart Money Concepts framework) and should be combined with your own risk management, not traded mechanically or in isolation. Past patterns are not indicative of future results. Trade at your own risk. Индикатор

Composite Institutional Momentum Oscillator [CMO]📊 Composite Institutional Momentum Oscillator
The Composite Institutional Momentum Oscillator (CMO) is an advanced, volume-weighted momentum oscillator originally engineered for Bitcoin and Crypto markets, yet fully optimized to perform seamlessly across all asset classes and sectors—including Stocks, Forex, Indices, and Commodities. 📈
By pairing short-term price velocity with synthetic order flow delta, volume absorption metrics, and multi-timeframe alignment, CMO filters out market noise to isolate true institutional positioning and trend expansion regardless of the traded asset. 🔥
🔍 How Order Flow & Absorption Work Across Markets
Because traditional Pine Script environment variables process completed transactions bar-by-bar rather than raw Level 2 limit order books, CMO utilizes robust algorithmic estimations derived from volume and intra-bar price action:
* ⚡ Synthetic Volume Delta Estimate: Approximates aggressive market buying versus market selling pressure per bar based on the close position within the high-low candle range ($\text{bullVol} \text{ vs. } \text{bearVol}$).
* 🛡️ Stealth Absorption Detection: Identifies hidden limit-order wall absorption by tracking Volume Efficiency ($\frac{\text{Volume}}{\text{Candle Range}}$). Abnormally high volume occurring inside narrow price ranges flags institutional limit orders absorbing aggressive market flow without letting price slip.
⭐ Key Features
* 🌐 Universal Multi-Asset Optimization: Engineered around Bitcoin's high volatility dynamics, making it exceptionally sharp at detecting momentum shifts in standard equities, forex pairs, and commodities.
* ⚖️ Order Flow & Stealth Absorption Weighting: Dynamically scales momentum signals using synthetic delta and volume efficiency ratios to capture true institutional effort.
* 🚀 Dual-WMA Velocity Core: Combines fast and slow Weighted Moving Average calculations to capture responsive directional changes while reducing false breakout signals during sideways consolidation.
* ⚓ Normalized CIMA Anchor: Anchors momentum against a long-term macro cost basis (510-period default) scaled by rolling standard deviation.
* 🎯 Liquidity Sweep Detection: Automatically flags potential institutional stop-hunts when price temporarily breaches macro high/low boundaries before reclaiming them.
* 🧠 Synthetic Fear & Greed Index: Computes a real-time 0–100 market sentiment score integrating volatility ratios, relative momentum positioning, and standard 14-period RSI metrics.
* 🖥️ On-Chart Status Dashboard: Provides an active HUD readout of macro trend alignment, micro trend bias, local momentum phase, and real-time sentiment metrics.
💡 Trading Guidance (Crypto, Stocks, Forex & Commodities)
* 🟢 Bullish / Bearish Expansion: A CMO line breach above +1.0 (or below -1.0) alongside daily MTF alignment confirms high-probability institutional trend expansion.
* 🔄 Accumulation / Distribution: Oscillations between 0.05 and 1.0 signal controlled accumulation phases, while values between -0.05 and -1.0 indicate steady distribution.
* 🧹 Liquidity Sweeps: Highlighted markers identify rapid false breaches of macro highs/lows, offering high-reward mean-reversion entries in the direction of the higher-timeframe trend.
* ⚠️ Extreme Sentiment Reversals: Fear & Greed index values above 75 (Extreme Greed) or below 25 (Extreme Fear) alert traders to overextended leverage and imminent pullback potential.
⚙️ Input Settings
Parameter Default Description
MTF Trend Filter Frame 1440 (1D) Higher timeframe resolution used to establish macro directional trend bias.
Price Source ohlc4 Calculation source for momentum and volume algorithms.
Macro Baseline Lookback 510 Lookback period for institutional cost basis and standard deviation bounds.
Micro Baseline Lookback 63 Slow period for dual-WMA velocity calculations.
CMO Length 12 Fast period for dual-WMA velocity calculations.
Enable Order Flow Delta True Toggles synthetic volume delta weighting in composite momentum formulas.
Enable Stealth Absorption True Toggles volume efficiency weighting to detect hidden limit order absorption. Индикатор

Stryk: VWAP + EMA# Stryk: VWAP + EMA — publish description
> Paste into the script description. No performance figures, no links, no promotional language. Estimates and data dependencies disclosed.
---
**Stryk: VWAP + EMA** puts three reads on price and nothing else: a rolling volume-weighted average price with deviation bands, a long exponential moving average with an optional smoothing overlay, and candles coloured by order-flow delta. No signals, no labels, no tables.
## Rolling VWAP
Volume-weighted average price over the last N candles of a chosen delta timeframe — with the defaults, 60-minute candles × 20, a 20-hour VWAP that slides forward as each candle completes rather than anchoring to a session. Volume-weighted standard-deviation bands at ±1σ, ±2σ and ±3σ with individual multipliers, colours and an optional ±1σ fill. The window is computed from chart bars on a ring buffer with running sums, so it loads cleanly in bar replay. A visual smoothing pass (adjustable, 1 = off) rounds the small steps that occur as the oldest candle leaves the window; the underlying values are exact.
If the chart timeframe is raised above the delta timeframe, the delta timeframe is lifted to match for that session with the same lookback (switchable to a strict error instead).
## EMA
TradingView's standard exponential moving average — length (default 233), source and offset — with its standard smoothing-MA option (SMA, EMA, SMMA/RMA, WMA, VWMA, or SMA with Bollinger Bands, default length 233) and an additional visual smoothing pass on the plotted line (1 = the stock EMA exactly).
## Candle paint
Every candle (body, wick, border) is coloured by the live delta of the delta-timeframe candle it belongs to, fading between a bear colour, a neutral colour and a bull colour. Two intensity modes: delta size relative to the recent average |Δ|, or delta as a percentage of total volume (imbalance), with a sensitivity input and a square-root "boosted" response curve. Hide the chart's own candles so only the painted set shows.
## Delta source — read this
Where TradingView provides volume footprint data for the bar, delta comes from `request.footprint()` bid/ask buy and sell volume. Footprint availability depends on your plan and the symbol; where it is not available the script falls back to an **estimate** of delta derived from lower-timeframe bar polarity, with the intrabar resolution chosen automatically against your plan's data budget. Estimated delta is not order-flow data and can differ materially from true delta. The footprint is built from TradingView's own tick feed: a broker data subscription does not make it real-time, and a "Delayed" chip on the chart means the colours are delayed by the same amount.
## Repainting
The live delta candle's colour updates on every tick by design; completed candles do not change. The VWAP, bands and EMA are standard rolling calculations.
## What it is not
It draws context. It makes no prediction and contains no trade logic. Индикатор

Pullback Value Recovery [PhenLabs]📊 Pullback Value Recovery
Version: Pine Script™ v6
📌 Description
Pullback Value Recovery identifies a specific continuation sequence: a fresh breakout impulse, an established pullback, and a confirmed recovery. Instead of calling every dip a buying opportunity or every bounce a short, it waits for price to recover two separately measured price averages and clear the previous candle.
The two averages follow different groups of bars. One contains closes advancing with the original impulse; the other contains closes retracing against it. Here, “value” means these conditional HLC3 averages, not fair value, institutional positioning, or actual buying and selling pressure.
A qualifying recovery prints one directional marker and a fixed reference-close, structural-stop, 1R and 2R map. If the recovery is too extended or its stop is too wide, the episode is consumed without a signal, and the dashboard explains the rejection.
🚀 Points of Innovation
Two role-conditioned means: advance and retracement bars are accumulated separately after a confirmed seed, rather than blended into one whole-leg VWAP.
Preparation before recovery: a pullback must establish sufficient adverse bars and depth before a later candle can confirm recovery.
Prior-band testing: the recovery candle is tested against averages known before it formed. It cannot move its own confirmation threshold.
Whole-episode volume fallback: missing volume switches both averages to complete equal-bar histories, rather than mixing volume weights with arbitrary unit weights.
Explicit skip semantics: the first prepared structural recovery either produces a plan or is rejected. The same setup cannot issue repeated “second chance” signals.
🔧 Core Components
Impulse seed: a confirmed close breaks the prior rolling range, its directional body meets the ATR threshold, and it closes in the candle's outer quarter.
Advance mean: uses HLC3 from bars whose close-to-close movement agrees with the seed direction. The seed itself belongs to this group.
Retracement mean: uses HLC3 from bars whose close-to-close movement opposes the seed. Unchanged closes are excluded from both groups.
Local pullback: adverse-bar count and the pullback extreme reset after a close beyond the earlier running directional extreme. The cohort means remain anchored to the seed.
Recovery gate: after preparation, a long closes beyond the prior upper cohort mean plus a buffer AND above the previous candle high. A short closes below the prior lower mean minus a buffer AND below the previous candle low.
Risk map: the signal close is the reference price. The stop sits beyond the signal-inclusive pullback extreme; 1R and 2R are arithmetic references from that distance.
🔥 Key Features
Separate, clearly named bullish and bearish confirmed-recovery alerts.
Numeric event and state plots for Pine Screener workflows.
No external symbol requests, lower-timeframe requests, imported libraries, or footprint dependency.
Visible weighting mode, waiting state, rejection reason, and ignored-seed count.
One active setup or observed plan at a time, with capped historical maps.
Confirmed-bar state changes and fixed reference levels.
🎨 Visualization
Blue-violet line: advance-cohort mean.
Amber line: retracement-cohort mean. The means may cross; neither color represents buy/sell delta.
Faint ribbon: the interval between the cohort means while a setup is developing.
Teal / coral triangles: accepted long / short recovery events.
Dashed lines: reference close and structural stop. Dotted lines: 1R and 2R.
Short shaded map: analytical risk/reward regions. A resolved map stops growing; its prices remain fixed.
Retained status: REF | SL means stop threshold breached; REF | 2R means 2R reached/exceeded; ? is same-bar ambiguity; EXP is unresolved expiry; DATA is unknown. Hover the reference label for details. These are observations, not realized trading results.
Dashboard: detailed state information without covering the chart in labels. Table Size offers Compact, Normal, and Large.
📖 Usage Guidelines
Setup
Breakout lookback: default 20, range 5–100. Shorter windows admit more local breaks; longer windows require a broader range break.
Impulse body / ATR: default 0.65, range 0.20–2.00. Uses ATR(14) from BEFORE the seed and a directional body, not absolute candle size.
Retracement bars: default 2, range 1–6. Counts adverse closes within the local pullback; they need not be consecutive.
Setup expiry bars: default 48, range 10–150. Seed age is zero; age 48 expires before recovery, leaving default opportunities at ages 1–47.
Mean weighting: Auto uses reported chart volume; Equal bars ignores volume intentionally. Auto falls back for the entire episode if an included bar has missing or nonpositive volume.
Recovery filters
Maximum chase / ATR: default 1.00, range 0.10–3.00. Distance beyond the tested prior outer cohort mean.
Maximum stop distance / ATR: default 2.50, range 0.25–6.00. Rejects oversized reference-close-to-stop distance.
Plan observation bars: default 30, range 5–100. Observes only bars AFTER the signal. Threshold events on the final observation bar take priority over expiry.
Chart presentation
Show risk / reward maps: on by default. Hiding drawings does not disable plan observation or its busy state.
Initial map length: default 12, range 4–30. An unresolved map grows to the current bar only after that initial length.
Retained maps: default 6, range 1–12, including the active map. Older drawing objects are removed first; plotted recovery markers remain.
Show seed markers: off by default to keep the chart clean.
Show dashboard: on by default.
Table Size: Compact by default; Normal and Large are available. Map-dependent and dashboard-dependent controls are grayed out when inactive.
Fixed rules
Minimum pullback depth: 0.35 of frozen seed ATR.
Recovery buffer: 0.05 ATR beyond the prior outer cohort mean.
Origin invalidation and structural-stop padding: 0.10 ATR.
Cooldown: the next 8 bars after an accepted or rejected recovery attempt.
Only a fresh qualifying breakout burst can seed. Impulses while busy are ignored, never queued.
✅ Best Use Cases
Structuring a discretionary pullback-continuation review on standard candles.
Separating an unprepared pullback, an armed recovery, and an overextended entry.
Keeping reference risk visible without a dense multi-indicator layout.
Scanning event/state plots, then inspecting the underlying chart and data mode.
⚠️ Limitations
This is a pattern detector and analytical map, not a strategy backtest. No profitability, win rate, or accuracy is established.
The signal close is a reference, not proof of an executable fill. Gaps may breach a threshold without trading at its exact price.
If stop and 2R are both observed in the same candle, the result is marked ambiguous. OHLC does not establish which happened first.
1R is informational. There is no automatic partial exit, stop-to-breakeven, trailing stop, or position sizing.
One active episode or plan intentionally blocks other opportunities. The dashboard reports fresh seeds ignored while busy.
Reported volume can be tick volume or venue-specific volume. These groups do not identify buyers, sellers, absorption, or order flow.
On a fallback transition, the switch bar cannot signal. The indicator does not manufacture a delayed catch-up event.
Parameters, loaded-history initialization, revised data, and nonstandard chart types can change the result. Use standard candles for acceptance testing.
Signals are evaluated on confirmed bars using information available through that close. Recorded events and fixed plan prices remain unchanged under unchanged inputs, data, and initialization; active means and observation endpoints continue to develop by design.
No setup is a valid state. Consult the dashboard before loosening filters; more signals are not evidence of a stronger edge.
💡 What Makes This Different
The distinction is the advance-versus-retracement partition and the causal recovery sequence, not a renamed moving average or a decorative score.
The two means are role-conditioned across the entire episode, while local pullback readiness resets. This avoids carrying an old pullback stop into every later shallow dip.
⚙️ Under the Hood
Conditional anchored accumulators: each cohort keeps sum(HLC3), bar count, sum(HLC3 × volume), and sum(volume). The selected mean is the corresponding ratio. Only bars assigned to that cohort contribute.
Typed episode and plan objects: Pine user-defined types keep the anchor, direction, extrema, preparation latch, and drawing handles together. A bounded UDT array deletes the oldest maps first.
Causal state ordering: the bar's starting phase decides its processing branch. Origin invalidation and expiry precede recovery, and accepted plans are not observed until the next bar.
Prepared latch: enough retracement count/depth plus a close not beyond the buffered band arms a later recovery. This does not require a full traversal from below BOTH means, and the rail crossing need not coincide with the prior-candle break.
Data mode: core calculations need only chart OHLC and optional reported volume. Missing volume has an equal-bar fallback; missing required price data invalidates preparation or makes an active plan unknown. No premium data call is embedded.
Screener & alerts: “PVR Event (+1 long, -1 short)” is +1 or -1 only on an accepted event bar and 0 otherwise. “PVR Armed Direction” exposes +1/-1 for prepared setups. “PVR Phase” is 0 idle, 1 setup, 2 plan. Alerts are “PVR: Long recovery confirmed” and “PVR: Short recovery confirmed”; use Once Per Bar Close. Pine Screener availability and history limits remain subject to TradingView's plan/product rules.
🔬 How It Works
A fresh directional breakout starts an episode and freezes its ATR benchmark.
Advancing and retracing closes feed separate seed-anchored price averages.
The local pullback establishes adverse-bar count, sufficient depth, and a prepared close relative to the cohort band.
A later close recovers the prior band and clears the previous candle boundary.
Chase and stop-distance filters either accept that first structural recovery or consume it as a skipped setup.
An accepted event fixes the analytical map. Subsequent bars resolve it by stop threshold, 2R threshold, ambiguity, data invalidity, or time expiry.
💡 Note:
Start with default settings, inspect both directions, verify symbol-scale attachment, and compare replay/reload behavior before relying on alerts. This tool is an analytical aid, not financial advice.
Индикатор

I have levels"I Have Levels" is a 21/55 EMA cross indicator with a twist: every signal it prints is
deliberately the opposite of the classic interpretation. A bullish cross prints a red
SHORT. A bearish cross prints a green LONG. This is intentional, it is the entire point
of the script, and it is stated plainly here so nobody is surprised by it.
On top of the inverted signals, the script draws a continuous mirrored price path — the
"crayon" — that runs upside down relative to actual price for as long as a signal stays
active. When price goes up, the crayon goes down. When price goes down, the crayon goes
up. It is a visual inversion of the market, anchored to the bar where the last cross
occurred.
Treat this as a novelty and contrarian-perspective tool, not as a signal service.
## What it plots
**21 EMA (aqua) and 55 EMA (purple)**
Standard exponential moving averages on close. These are the only conventional
components in the script and can be toggled off.
**Wintuition SHORT**
When the 21 EMA crosses ABOVE the 55 EMA — normally read as bullish — the script prints
a red labeled SHORT above the candle.
**Which Way Did It Joe? LONG**
When the 21 EMA crosses BELOW the 55 EMA — normally read as bearish — the script prints
a green labeled LONG below the candle.
**Full-history opposite crayon**
On each cross the script stores two anchors: the closing price of the signal bar, and a
visual starting point (the bar's high on a SHORT signal, the bar's low on a LONG signal).
From there it plots:
crayon = visual anchor − (current close − price anchor)
So the crayon inverts every subsequent move around the anchor level. A one-bar gap is
inserted at each new signal so consecutive crayon segments never connect into a single
misleading line. The crayon is drawn as a plot rather than line objects, which means it
persists across all loaded history instead of running into Pine's 500-object drawing
limit.
## Settings
- Fast EMA Length — default 21
- Slow EMA Length — default 55
- Show EMAs — toggle the two moving averages
- Show Opposite Signals — toggle the labels
- Show Full-History Crayon — toggle the mirrored price path
- Crayon Thickness — line width, 1 to 8
- Wintuition SHORT Color — default red
- Which Way Did It Joe? LONG Color — default green
## Alerts
Two alertconditions are included:
- Wintuition SHORT — fires on a 21-above-55 cross
- Which Way Did It Joe? LONG — fires on a 21-below-55 cross
## Repainting
Both signals require `barstate.isconfirmed`, so labels and alerts only fire on closed
bars. Nothing shifts or disappears after the fact. The crayon updates in real time on
the developing bar because it tracks the live close, and settles once the bar closes.
## How people actually use it
Three honest use cases:
1. As a perspective flip. Seeing the mirrored path sometimes makes an obvious-looking
trend look a lot less obvious.
2. As a fade tool. If you already trade against retail crossover signals, this labels
them for you in the direction you would actually be taking.
3. As a joke on your own chart. That is a legitimate reason and this script does not
pretend otherwise.
## Notes and limitations
- Moving average crossovers lag by construction and chop badly in ranges. Inverting them
does not fix that; it inverts the losses too.
- The crayon is a mirrored price path, not a support/resistance level, not a projection,
and not a forecast. Do not read it as a target.
- No backtest, no win rate, and no performance claim is made anywhere in this script,
because none has been established.
## Disclaimer
For education and entertainment. Nothing here is financial advice. Signals are
intentionally inverted from their conventional meaning. Do your own research and manage
your own risk.
Индикатор

Liquidity Absorption Engine [StrixEDGE]TRADINGVIEW TITLE
Liquidity Absorption Engine Liquidity
DESCRIPTION
StrixEDGE Liquidity Absorption Engine is Engine #01 in the StrixEDGE indicator framework. It is a liquidity-focused market-state tool designed to identify changes in directional quality, liquidity behavior, volatility structure and confirmation strength without relying on a single conventional oscillator.
WHAT THIS INDICATOR IS DESIGNED TO DO
Scores wick absorption, sweep rejection and directional flow to identify defended liquidity zones.
Rather than treating one input as a complete signal, StrixEDGE combines the engine's dedicated core logic with an optional DNA layer. The final result is normalized into a 0–100 Strix Score so the same framework can be read consistently across different symbols and timeframes.
HOW TO READ THE STRIX SCORE
• Above 72: bullish state / long-side trigger zone.
• Below 28: bearish state / short-side trigger zone.
• Around 50: balanced or neutral state.
• A signal is generated on a transition into a trigger zone, not on every bar that remains inside it.
SIGNAL & POSITION FRAMEWORK
When a valid state transition is detected, the overlay version can create a structured trade plan containing:
• Entry
• DCA level
• TP1
• TP2
• TP3
• Stop Loss
Each projected level includes its percentage distance from Entry. When a level is reached, the same chart label is updated with a ✓ marker. TP and SL outcome tracking is mutually controlled so the dashboard does not report contradictory terminal results for the same setup.
PROFESSIONAL DASHBOARD
The built-in StrixEDGE dashboard summarizes the active market state in a compact TradingView table, including:
• Engine and category
• Strix Score and directional bias
• Signal / market regime
• Flow pressure and trend quality
• Relative volume and ATR volatility
• Structure / VWAP context
• Active position and signal age
• Entry, DCA, TP1, TP2, TP3 and SL
• Hit status for each projected level
COMBINATION PROFILE
• CORE BALANCE
• Active DNA modules: 3
• Lookback: 24
• Smoothing: 5
• Signal threshold: 72
ENGINE DNA
• Wick Absorption Pressure — Compares upper/lower wick asymmetry and amplifies it when relative volume is elevated.
• Liquidity Sweep Rejection — Detects previous-range stop sweeps that close back inside the broken boundary.
• Normalized Flow Acceleration — Smooths ATR-normalized return × relative volume to estimate directional flow.
MARKET / STYLE PROFILE
• Market focus: Crypto
• Intended style: Swing
• Core engine: #01 Liquidity Absorption Engine
• Category: Liquidity
NON-REPAINT / DATA HANDLING
By default, signals require a confirmed chart-bar close. This reduces intrabar signal fluctuation and makes historical signal placement more stable.
ALERTS
The generated script includes alert conditions for:
• Long state shift
• Short state shift
• DCA reached
• TP1 reached
• TP2 reached
• TP3 reached
• Stop Loss reached
HOW I USE IT
StrixEDGE is designed as a market-state and trade-structure tool rather than a standalone prediction system. Stronger setups generally occur when the Strix Score, market regime, flow pressure, structure and volatility context agree instead of relying on the trigger alone.
LIMITATIONS
No indicator can predict future price movement with certainty. Signals can fail during sudden news events, illiquid conditions, gaps, abnormal volatility, regime transitions or unreliable volume. DCA, TP and SL levels are systematic projections derived from the active setup and should not be interpreted as guaranteed outcomes.
Users should validate the indicator on the symbol, exchange and timeframe they trade, and should apply independent position sizing and risk management. Historical behavior does not guarantee future performance.
ORIGINALITY
StrixEDGE Engine #01 is built from generic price, volume, volatility, structure and confirmed-context primitives arranged in a dedicated engine formula and optional DNA layer. It is not intended to reproduce or rename a specific community indicator.
DISCLAIMER
For research and educational purposes only. This indicator is not financial advice and does not guarantee profitability. Индикатор

ZekuojAll in One — Intraday Session Levels and Trend References
All in One brings session levels, moving averages, VWAP, and volume together in a single chart indicator. It is designed to help traders keep important references visible while reducing the need to manage several separate indicators.
WHAT IT INCLUDES
- Premarket High and Low: Tracks the premarket range from 4:00 a.m. to 9:30 a.m. New York time.
- Yesterday’s High and Low: Shows the previous regular trading session’s extremes, excluding extended hours.
- Open Price: Displays the daily candle’s opening price as a connected line on charts of 15 minutes or less.
- 15-Minute Opening Range: Tracks the high and low between 9:30 and 9:45 a.m. New York time. These levels appear during regular trading hours on charts of 15 minutes or less.
- Session VWAP: Uses volume-weighted price to provide an intraday reference, resetting each daily session. It displays on intervals below one hour.
- Moving Averages: Includes the chart’s 8 EMA, 21 EMA, and 200 SMA.
- One-Hour 200 SMA: Displays the hourly 200-period simple moving average on hourly and smaller charts, providing a consistent higher-timeframe reference.
- Volume: Shows each candle’s trading volume with rising and falling colors, plus an optional 20-bar volume average.
- Hourly Reaction Levels: Marks price areas where confirmed hourly pivots cluster near the same level.
WHAT IT IS FOR
The combination helps traders compare current price with prior-session extremes, the premarket range, the regular-session opening range, trend references, and trading activity—all in one place.
Colors, line widths, and labels can be adjusted to keep the chart readable. Components can also be switched on or off to suit your workflow.
IMPORTANT LIMITATIONS
This version is designed for U.S. stocks and ETFs on standard candlestick charts from 1 to 60 minutes, using New York session times. Futures and overnight-session adaptations are not included.
Some values develop during the current candle or session. The opening range is not complete until 9:45 a.m., the hourly SMA can change during an unfinished hour, and reaction levels require pivot confirmation. Volume bars use a separate display scale; their screen height can differ from TradingView’s built-in Volume indicator.
This is a chart-reference tool, not an automatic trading system. Its levels do not guarantee support, resistance, reversals, or profitable trades.
CREDITS
The components use standard moving-average, ORB, VWAP, volume, and session-level calculations. Индикатор

Stryk: Truth Line# Stryk: Truth Line — publish description (TradingView House Rules compliant)
> Paste into the script description. No performance figures, no win rates, no links, no promotional language. Estimates and repaint behaviour are disclosed explicitly.
---
**Stryk: Truth Line** is a participation-weighted adaptive line with a delta-vs-price verdict engine. It answers one question per bar: is this move being paid for?
## What it does
**The line.** A price follower whose follow-speed is set by "fuel" — how much participation is behind the current bar, weighted by whether true delta agrees with the bar's direction. Moves the market pays for pull the line along (coloured by direction). Moves nobody pays for leave the line behind (neutral colour) and the space between price and the line is shaded toward the fade side: bear colour above the line for a rally on thin participation, bull colour below the line for a sell-off on thin participation.
Participation is scored as a bell, not a ramp: fuel peaks in the mid band and falls off toward both the thin band and the climax band, with an additional decay once participation is inside the climax band. Only the mid band counts as a paid move. The line's colour follows its own slope on paid bars (bull colour rising, bear colour falling) and the neutral colour on unpaid bars.
**The verdict.** Delta is accumulated per candle of a user-chosen delta timeframe (default 60 minutes). The last three candles' net delta and price change feed one of five states:
- **ABSORPTION ▲ / ▼** — outsized net delta on one side while price refuses to follow it. Highest priority.
- **BUYERS / SELLERS** — three consecutive candles of meaningful delta on one side with price agreeing.
- **CONSOLIDATE** — three candles of small delta.
- **MIXED** — anything else; no read.
All thresholds are multiples of the recent average |Δ|, so the same settings apply across instruments without retuning. The confirmed verdict updates on delta-timeframe candle close; the live row updates intrabar and is labelled as such.
**Signals** (each individually toggleable):
- **FADE △ / ▽** — unpaid gap beyond an ATR threshold with participation in the thin band.
- **CLIMAX ⊗** — participation in the climax band while the line is still being paid in that direction. A warning, not an entry.
- **DIVERGE ◇** — on delta-timeframe close, price moved but delta was small. Footprint data only.
- **LINE FLIP ▲ / ▼** — price closes through the line beyond a hysteresis distance on a paid bar with delta agreeing. Confirmation is selectable: instantly on the crossing bar when it has conviction (outsized delta in the mid participation band), after holding N chart bars, or at the next delta-timeframe close. Unconfirmed flips print a faint provisional glyph that is removed if the flip fails.
- **BUY / SELL ●** — regime-gated confluence: confirmed line flip, verdict regime allowing that side, participation in the mid band at the flip, and (optionally) price on the agreeing side of the rolling VWAP. Does not fire under MIXED or CONSOLIDATE.
**Candle paint.** Every candle can be coloured by the same quantity that moves the line: sign from the bar's delta, intensity from fuel, so a paid bar shows bull/bear colour from its first ticks and an unpaid bar fades to neutral. Stryk: ΔC's delta-size and delta-% paint modes, driven by the live delta-timeframe candle, are also available, as is a participation-band mode.
**The display box.** Delta for the chart bar; live delta-timeframe delta with its buy/sell split; participation value and band; line state with the gap in points and ATRs; the last signal and how many bars ago; a three-candle delta memory (magnitude blocks, net delta, price change, and a ✓/✗ mark for whether delta and price agreed); the live verdict with its reasoning line; and the confirmed verdict with the regime it allows. Vertical layout for desktop with per-row toggles; Mobile layout is a compact five-row summary.
Also included: rolling VWAP over the lookback window with ±1/2/3σ bands, a background tint by participation band, and one JSON-formatted alert per event (FADE, CLIMAX, DIVERGE, confirmed LINE FLIP, BUY, SELL, verdict changed, ABSORPTION set, gap closed) for external logging.
## Delta source — read this
Where TradingView provides volume footprint data for the bar, the script uses real bid/ask buy and sell volume from `request.footprint()`. Footprint data availability depends on your TradingView plan and on the symbol; where it is not available the script falls back to an **estimate** of delta derived from lower-timeframe bar polarity. Estimated delta is not order-flow data and can differ materially from true delta. The display box header shows which source is active on the current bar (`ftp` with the share of recent bars that had footprint data, `est` with the intrabar resolution, or `est bar` when the intrabar budget is exhausted and only whole-bar polarity remains). Because footprint delta and estimated delta differ in magnitude, the average |Δ| that calibrates the verdict thresholds is computed only over candles sharing the current bar's source; when the three-candle memory straddles a source boundary the box says so and BUY/SELL are suppressed. The DIVERGE signal and the delta-agreement term in fuel are disabled on the estimate path because polarity-derived delta cannot disagree with price.
## Data entitlement — futures
The footprint is built from TradingView's own tick feed. A broker data subscription (for example CME data through a futures broker) does not make TradingView's chart real-time. If the chart shows a "Delayed" chip next to the symbol, the live delta, the live verdict and every alert are delayed by the same amount. Real-time exchange data is a separate TradingView entitlement.
Footprint availability also depends on plan tier. Behaviour on plans without footprint access is not something this script can detect at compile time; if the script does not load on your plan, use the estimate-only build.
## Repainting and confirmation
- The live delta, live verdict row, the line itself and the gap shading update on every tick by design. The line includes an optional fuel-weighted lag-compensation term, clipped so it never overshoots the close.
- **Signal timing** input: *Bar close* (default) evaluates every signal and alert on confirmed bars only — non-repainting, one chart bar of delay. *Intrabar* prints and alerts as soon as a condition is true on the forming bar; a glyph printed intrabar stays even if the bar closes without the condition. Intrabar mode repaints and is labelled as such.
- The BUY/SELL regime can come from the live verdict once it has held a set number of bars (default) or only from the delta-timeframe-close verdict.
- Unconfirmed LINE FLIP glyphs are removed if the flip fails its confirmation rule.
## How to use
1. Put it on an intraday chart of a liquid futures contract or index ETF. Defaults assume a 5-minute chart with a 60-minute delta timeframe.
2. Check the box header: `ftp` means true delta is active; `est` means you are on the estimate path.
3. Scale **Flat tolerance (ticks)** with your delta timeframe and instrument (default 24 ticks suits NQ 60-minute).
4. Participation is ranked against the same session's own history by default (Asia / London / New York windows, fixed internally) so overnight tape is not permanently scored thin; switch to Rolling if you prefer a plain lookback.
5. Use section 0 (Master Switches) to run lean — the engine keeps computing for the box and alerts even with the line hidden.
6. For alerts, create one alert on the indicator with "Any alert() function call". Every enabled event arrives as a JSON object containing the signal, direction, verdict, regime, participation band and value, gap in ATRs, delta source, timeframes, price and time — enough to log every event externally and score it later against what price did.
## What it is not
It is not a trading system and makes no prediction. It reports whether participation and delta supported a move and lets you decide what that means in context. Every reading can be wrong; slow low-volume drift can persist for hours without a paid move, which is why the gap threshold is a user input rather than a fixed rule.
## Settings
Every input has a tooltip describing what it does and why the default is what it is. Индикатор

Market Structure Shift and CRTHere it is to copy directly.
**SHORT DESCRIPTION**
Market structure built from candle bodies instead of wicks, read across two timeframes at once, combined with higher-timeframe liquidity sweep detection that requires the body to close back inside the swept level.
---
**FULL DESCRIPTION**
Two ideas drive this indicator, and both are about ignoring wicks when they lie and paying attention to them when they matter.
**Structure from bodies**
Most structure tools build swings from highs and lows. One wick — a stop run, a thin print during a quiet hour — can define a swing point and drag the entire structure read with it.
This builds swings from candle bodies by default: open and close, not high and low. Levels reflect where price was accepted rather than where it briefly poked. A wick-based mode is included if you want to compare.
The zigzag traces a continuous line through body pivots. At length 1 it puts a vertex at nearly every bar and stretches into longer legs only where price runs without pulling back, so the shape itself shows you where the market trended and where it chopped.
Structure labels run on their own, slower pivot setting so they stay readable while the zigzag stays dense. Every confirmed pivot is compared to the previous pivot in the same direction and labeled HH, HL, LH, or LL. When price breaks a structure level it prints BOS if the break continues the existing bias, or CHoCH if it reverses it.
**Pivots with separate Left and Right bars**
This is where most structure indicators quietly cost you time.
A pivot cannot confirm until bars have printed after it. If left and right are tied to one number, improving quality always costs you speed. Here they are separate: Left decides how significant a swing must be, Right decides how long you wait. Left 5 / Right 2 keeps a meaningful filter while confirming in two bars instead of five.
Evaluate Breaks On removes the second source of lag. Set to Chart Bar, a break of a higher-timeframe level registers the moment price crosses it on your chart rather than waiting for that timeframe's bar to close — worth up to fourteen bars on a 1-minute chart reading 15-minute structure. Set to TF Close for fewer false breaks.
**Dual-timeframe alignment**
Structure TF 1 drives everything drawn on the chart. Structure TF 2 runs the same logic on a higher timeframe and feeds the table. Each has its own pivot settings and its own level colors.
The table compares them row by row — bias, last event, last pivot, active swing high and low — and then reports:
ALIGNED ▲ — both timeframes bullish
ALIGNED ▼ — both timeframes bearish
CONFLICT — they disagree
Conflict is the row worth watching. It means the faster timeframe has flipped while the slower one hasn't confirmed, which is where counter-trend entries tend to get run over.
**Higher-timeframe sweeps**
A sweep is a candle whose wick clears a prior candle's high or low while its body closes back inside. Body top is the close on an up candle and the open on a down candle, so a bar that opens beyond the level and reverses is correctly rejected — a close-only test would pass it.
Higher-timeframe candles are assembled bar by bar from your chart rather than requested. Each HTF high and low keeps the bar where it actually printed, so sweep lines anchor to the wick that made the level instead of to wherever the HTF bar happened to close. Nothing is pulled through request.security for the sweep engine, so there is no repainting question on confirmed sweeps.
Three independent sweep timeframes, each with its own toggle, timeframe and color, fully separate from the structure timeframes. A sweep stays live and extends right until a later candle's body closes through it, at which point it is marked invalidated. Each sweep can carry a 50% zone drawn from the sweeping candle's midpoint to its close.
Show Sweeps While Forming draws a sweep the moment the wick clears the level, styled faintly, before the candle closes. When that candle does close, the sweep is either promoted to its solid style or removed entirely if the body ended up closing back through. Forming sweeps repaint by nature — that is what "forming" means — which is why the option is off by default.
**Settings**
① Structure Timeframes — TF1 and TF2 for the structure read
② ZigZag — length, body or wick, color, width, legs kept
③ Structure Labels — per-timeframe pivot Left/Right, break evaluation and source, four independent level colors, label options
④ Sweep Timeframes — three slots plus how many prior candles each is compared against
⑤ Sweep Detection — highs, lows, forming sweeps and their styling
⑥ Sweep Display — line style, invalidated sweeps, timeframe tags, 50% zones, extension
⑦ Status Table — position, size, alignment tint
**Alerts**
Structure shift on either timeframe, timeframes becoming aligned bullish or bearish, timeframe conflict opening, and a new higher-timeframe sweep forming.
**Suggested starting points**
1-minute futures: Structure TF1 blank with Left 5 / Right 2, TF2 = 15 with Left 4 / Right 2, ZigZag length 1, sweeps on 5 and 15
5-minute: TF1 blank, TF2 = 30, ZigZag length 2, sweeps on 15 and 60
Daily swing trading: TF1 blank, TF2 = W, ZigZag length 3, Left 8 / Right 3, sweeps on 1D and 1W
**Notes on repainting**
Confirmed sweeps do not repaint. Structure pivots do not repaint once confirmed, but by definition cannot confirm until Right bars have printed after them. The final unconfirmed leg of the zigzag updates until its pivot confirms, which is inherent to how zigzags work. Forming sweeps repaint until their candle closes, and the option is off by default for that reason.
Sweep timeframes must be higher than your chart timeframe; slots set at or below it are skipped automatically.
This is an analysis tool. It describes where price has been and which levels are currently in play. It does not predict what happens next, and nothing here is financial advice. Индикатор

MarketCraft FX - Liquidity Matrix V1.1MARKETCRAFT FX – LIQUIDITY MATRIX V1.1
The MarketCraft FX Liquidity Matrix is a free liquidity-mapping indicator designed to identify areas where buy-side and sell-side liquidity may be resting.
Rather than displaying every minor swing, the indicator evaluates confirmed pivot structure, relative volume and displacement away from the level. Qualified liquidity zones are then displayed clearly on the chart, helping traders identify potential targets, reaction areas and liquidity events.
KEY FEATURES
• Buy-Side Liquidity (BSL) zones above confirmed swing highs
• Sell-Side Liquidity (SSL) zones below confirmed swing lows
• Dual structural and relative-volume detection
• PRIMARY, STRONG and MAJOR zone classifications
• ATR-based zone depth
• Optional dynamic zone sizing
• Nearby-level merging to reduce chart clutter
• Zones extend automatically beyond current price action
• Separate liquidity-sweep and close-through identification
• Nearest BSL and SSL displayed in a compact dashboard
• Configurable colours, transparency and display limits
• Alerts for approaches, sweeps and candle close-through events
• Suitable for light and dark chart backgrounds
HOW THE LIQUIDITY ENGINE WORKS
A liquidity zone begins with a confirmed swing high or swing low.
The indicator then evaluates the quality of that swing using two independent qualification paths:
1. Structural displacement away from the swing
2. Relative volume surrounding the liquidity origin
This dual-detection method allows a meaningful structural level to qualify even when market volume is relatively quiet. It can also identify volume-backed liquidity that may not produce an unusually large immediate displacement.
ZONE CLASSIFICATIONS
PRIMARY
A confirmed liquidity-bearing swing that meets the minimum qualification requirements.
STRONG
A higher-quality level supported by additional displacement, relative volume or price-action confirmation.
MAJOR
A high-scoring liquidity level with multiple supporting factors. These zones represent the strongest levels identified by the engine.
READING THE ZONES
BSL zones appear above price and represent areas where liquidity may be resting beyond previous highs.
SSL zones appear below price and represent areas where liquidity may be resting beyond previous lows.
Each active zone extends beyond current price action by the selected number of bars. The default extension is 20 bars.
The zone remains live and continues moving forward until its outer boundary is reached.
ZONE STATES
FRESH
The liquidity zone has been created and has not yet been approached or swept.
APPROACHING
Price has moved within the selected ATR distance of an active liquidity zone.
LIQUIDITY SWEPT
Price has wicked through the outer boundary of the zone. The zone stops extending at the sweep candle and changes to a dashed historical level.
CLOSE-THROUGH
A candle has closed beyond the outer boundary. This is separated from a wick-only sweep because it may indicate acceptance beyond the liquidity zone rather than an immediate rejection.
COMPACT DASHBOARD
The dashboard displays:
• Current draw on liquidity
• Nearest active BSL
• Nearest active SSL
• Strength of each nearest zone
• Number of retained zones
• Latest liquidity event
IMPORTANT SETTINGS
Minimum Zone Grade controls the overall quality of zones displayed.
Dual Structural + Volume Detection allows zones to qualify through either displacement or relative volume.
Swing Length and Confirmation Bars control how significant a swing must be before it is confirmed.
Base Zone Depth controls zone thickness using ATR.
Merge Nearby Levels combines levels forming within the selected ATR distance.
Extend Past Current Price controls how far active zones project beyond the latest candle.
Retain Swept Zones determines whether completed liquidity events remain visible for historical analysis.
TRADING APPLICATION
The indicator can be used to help identify:
• Potential draws on liquidity
• Areas above highs or below lows where stops may be resting
• Potential reaction points
• Liquidity sweeps
• Failed sweeps and close-through events
• Confluence with market structure, order blocks, supply and demand, Fibonacci levels or higher-timeframe analysis
Liquidity zones should not be treated as automatic entry signals. A zone identifies an area of interest; traders should use their own confirmation process before making a trading decision.
MARKETCRAFT FX
Craft Your Edge. Master the Market.
This indicator is an original MarketCraft FX development created as a free educational and chart-analysis tool.
DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice or a recommendation to buy or sell any financial instrument.
No indicator can predict future market movements or guarantee profitable results. Liquidity zones may fail, price may trade through them, and historical performance does not guarantee future performance.
Always conduct your own analysis and use appropriate risk management.
Индикатор

MACD Matrix [Quantum Algo]MACD Matrix
═══════════════════════════════════════════════
🔶 OVERVIEW
MACD Matrix reads the Moving Average Convergence Divergence as a complete momentum system rather than a single line and histogram. It classifies momentum into four quadrants instead of one sign, aligns four timeframes into a live matrix with a scored consensus, detects histogram divergence and draws it on both the oscillator and the price candles, tracks histogram compression before expansion, and paints a momentum river through price so the entire reading lives on the chart — not only in the pane below it.
The result is a MACD you can read from the candles alone: the river's color tells you the quadrant, the aura tells you whether momentum is expanding or fading, gold beacons mark full multi-timeframe alignment, and every signal carries its own historical record on the exact symbol you are trading.
═══════════════════════════════════════════════
🔶 WHAT IS MACD?
The Moving Average Convergence Divergence, created by Gerald Appel, measures momentum as the distance between a fast and a slow exponential moving average. A signal line smooths that distance, and the histogram — introduced by Thomas Aspray — shows the gap between the two. MACD above zero means the fast average leads the slow one (bullish regime); the histogram rising means momentum is accelerating.
═══════════════════════════════════════════════
🔶 WHAT ARE THE FOUR MACD QUADRANTS?
Most traders read MACD as bullish or bearish. It actually has four distinct states, and the difference between them is where the money is:
— Expanding ▲: above zero and the histogram rising — momentum accelerating in an uptrend.
— Fading ▲: above zero and the histogram falling — the uptrend losing thrust, the earliest warning.
— Expanding ▼: below zero and the histogram falling — momentum accelerating in a downtrend.
— Fading ▼: below zero and the histogram rising — the downtrend losing thrust, the earliest turn.
MACD Matrix names the quadrant on every bar, colors the river and the aura by it, and stamps it into every signal's tooltip.
═══════════════════════════════════════════════
🔶 WHY IS THIS ORIGINAL?
1. The quadrant engine. Four momentum phases instead of two, made visible on the price chart through the momentum river and aura, so fading momentum is caught before the sign ever flips.
2. The timeframe matrix. Four configurable timeframes, each read as side-of-zero × expanding-or-fading, with a consensus score. A gold beacon prints on price the moment all four align with expanding momentum — a threshold event, not a vague "trend agreement."
3. Dual-canvas divergence. Histogram divergences are drawn as connectors in the pane AND as dashed twins across the corresponding price pivots on the chart, so the divergence is visible exactly where you trade it.
4. The histogram squeeze. Histogram amplitude is ranked inside its own recent history; when it compresses below a low percentile the momentum is coiled, marked with gold dots, and the expansion out of the coil fires a directional release signal — a compression concept almost never applied to MACD.
5. Signal families with per-symbol records. Zero-line crosses, early signal crosses on the correct side of zero, divergences and squeeze releases are tracked as separate families, each with ten-bar outcome statistics shrunk toward neutral at small samples and a Wilson lower bound — quoted in every tooltip and on the dashboard.
═══════════════════════════════════════════════
🔶 HOW IT WORKS
— MACD, signal and histogram are computed from configurable lengths; the quadrant is derived from the sign of MACD and the direction of the histogram.
— Four higher-timeframe MACD states are requested without lookahead and scored into the matrix.
— Histogram pivots are compared against price pivots to detect regular divergences, drawn on both canvases.
— Histogram amplitude is ranked against its own history for the squeeze; a mature coil that expands fires a release.
— Every signal family feeds its own first-in-first-out outcome samples; statistics are reported with sample counts.
Signals are evaluated on confirmed bars and do not repaint. Higher-timeframe matrix rows finalize when their own bar closes, as with any multi-timeframe reading. All drawings are capped.
═══════════════════════════════════════════════
🔶 HOW TO USE IT
— Trade the quadrant, not the sign: Expanding phases favor continuation entries; Fading phases favor taking profit or tightening risk, and they precede most zero-line crosses.
— Use the matrix as a filter: a 4/4 beacon is the highest-conviction environment; a divided matrix (2/4) warns that timeframes disagree.
— Divergence on the candles: when the dashed price line and the pane connector appear together, you have a momentum-versus-price disagreement located precisely on structure.
— Watch the coil: a long squeeze followed by a release is the setup for expansion; the R family record tells you how reliably releases have followed through here.
— Works on all markets and timeframes; configure the four matrix timeframes to match your trading horizon.
═══════════════════════════════════════════════
🔶 SETTINGS
— MACD: fast, slow and signal lengths.
— Timeframe Matrix: four timeframes.
— Signals & Squeeze: divergence pivot length, squeeze window and percentile, cooldown, signal visibility.
— Statistics: sample cap, minimum samples, shrinkage strength, Wilson z-score.
— Visuals and dashboard: river and aura toggles, river length, full color and position control.
═══════════════════════════════════════════════
🔶 ALERTS
— Matrix Aligned Bullish / Bearish — all four timeframes aligned with expanding momentum.
— Zero-Line Cross — MACD crossed zero.
— Histogram Divergence — a divergence printed.
— Squeeze Release — the histogram expanded out of its coil.
═══════════════════════════════════════════════
🔶 FAQ
Q: Does it repaint?
A: Signals are evaluated on confirmed bars and never change once printed. The higher-timeframe rows of the matrix update while their own bar is open and finalize at its close — this is inherent to any multi-timeframe reading, and no lookahead is used.
Q: How is this different from a standard MACD?
A: A standard MACD shows one line, one signal and one histogram in a pane. This tool adds the quadrant classification, the four-timeframe matrix and beacons, divergence drawn on the price chart itself, the histogram squeeze, the momentum river and aura on price, and per-family statistics.
Q: What does the momentum river represent?
A: A short exponential average of price colored by the current MACD quadrant. Its purpose is purely to carry the momentum reading onto the candles — bright when momentum expands, dimmed when it fades — so you can read momentum without looking away from price.
Q: What do the family percentages mean?
A: The share of past signals in that family after which price had moved favorably ten bars later, on the current symbol and timeframe, shrunk toward fifty percent at small samples. They describe history — they are not predictions.
Q: Which settings should I change first?
A: The four matrix timeframes, so the matrix reflects your own trading horizons. The MACD lengths follow the classic 12, 26, 9 defaults.
═══════════════════════════════════════════════
🔶 CREDITS
The Moving Average Convergence Divergence is by Gerald Appel; the MACD histogram is by Thomas Aspray (1986). The Wilson score interval is by Edwin B. Wilson (1927). The quadrant engine, timeframe matrix and beacon logic, dual-canvas divergence rendering, histogram squeeze, per-symbol statistics and all code in this script are original work — no third-party or open-source script code was reused.
═══════════════════════════════════════════════
🔶 LIMITATIONS
— MACD is a lagging momentum measure; the quadrant engine reduces but cannot eliminate lag.
— Divergences can extend before resolving; the family record exists to quantify this on your chart.
— Statistics describe the current chart's history only; past frequencies never guarantee future outcomes.
═══════════════════════════════════════════════
🔶 DISCLAIMER
This indicator is a research and charting tool provided for educational purposes. It is not financial advice, and nothing it displays is a recommendation to buy or sell any asset. Trading involves substantial risk of loss. Always do your own analysis and manage risk responsibly. Индикатор
