Koalafied Initial Balance Levels and ExtensionsShows the Initial Balance and range extensions for either the Daily session or individual market sessions (Asia, London, New York).
Initial Balance is the range represented by the first two segments (typically half-hour segments) of a trading session. Range extensions are a function of the longer-term trader participation, pushing price outside of the beginning 'fair' range established by the local traders. With the introduction of 24/7 markets the initial balance is often now regarded as less important than in the past, however re-calculating IB for multiple trading sessions may reinstitute insight to Market Direction and Confidence
Поиск скриптов по запросу "sessions"
Kviateq - Session PivotsFirst of all, I must say that this script wouldn't be possible without the help of one of the best script developers on TradingView - @ahancock (thanks a bunch for your help)
This script draws opening ranges for each of the sessions - Tokyo, London and New York and plots session high, low and pivot range of the previous session.
So if you trade London session - you would only take longs if we're above the Tokyo pivot range and vice versa for shorts.
Often times previous session's highs act as resistance and lows act as support, so careful trading around those levels.
It is obviously meant for lower timeframes, since each of the sessions only lasts a few hours.
Default settings are set to the exchange that I use and my timezone (GMT +7), so you might need to adjust the settings accordingly.
Tokyo - 12am GMT
London - 7am GMT
New York - 12pm GMT
Historic VPoCs and pseudo VPVRThis study tries to recreate session based historic VPoCs
and VPVR Volume Profile
as they are used by
TradingLatino TradingView user.
It's aimed at BTCUSDT pair and 4h timeframe.
HOW IT WORKS
HOW IT WORKS - VPVR Profile Block
It gathers volume from the last chosen Bars
in order to draw the vpvr profile block
Volume that intersects with current level range
being studied is added to its value.
Additionally the current level price is modified
so that it matches the level price where most
of the volume has concentrated
So you get a pretty accurate price for drawn volume
while at the same time the levels are not stuck
to arbitrary level prices.
HOW IT WORKS - VPoC
It calculates a Volume Profile for the
given historic session but then
it only outputs that Volume Profile VPoC.
SETTINGS
Show VPVR Volume Profile {True}.
Show Historic VPoC lines {True}.
Show Historic VPoC labels {True}.
Extend Historic VPoC lines {True}: If this option is turned off the VPoC lines are only shown during the session duration.
Show tick difference from current price {False}: BETA. Feedback is needed because I'm not sure how it should work this setting.
VPVR Number of bars {100}: Define the Visible Range in number of bars so that its Volume Profile can be shown.
VPVR Profile width (in bars) {15}: VPVR Profile can be make larger or smaller in width thanks to this option.
VPVR Profile offset (in bars) {15}: VPVR Profile can be shown more to the left or to the right if the defaults do not suit you.
Historic Session Volume Profile timeframe {1D}: Historic VPoC use 1 day as their timeframe reference by default.
Number of decimal digits {2}: How many decimal digits are shown in label prices.
Number of previous sessions to print VPoC {5}: How many previous sessions VPoCs are to be printed. The maximum for this setting is 20.
Historic VPoC lines width (in pixels) {2}.
Historic VPoC labels size {small}.
History VPoC line offset (in bars) {5}: How far to the right VPoCs lines are to be extended. Note: This setting does not apply when 'Extend Historic VPoC lines' is set to 'False'.
WARNING
Please be aware that VPoC from the first previous session might not be accurate due to Pine Script limitations.
VPVR USAGE
This is not a VPVR like the official TradingView indicator.
This is a pseudo VPVR and that means it needs some manual input from you.
But, don't worry it's quite easy to do and if you always use the same number
of bars to calculate your VPVR then you might even just set it up once.
In order to show the VPVR (or Volume Profile on the Visible Range):
Rescale your chart so that you see all the bars for your Visible Range.
Click on the ruler tool.
Click on the last bar (far to the right) shown on the screen
Drag the ruler to first bar (far to the left) shown on the screen
Check what the ruler says
E.g. it says: 101 bars
Open this study settings
Modify: 'VPVR Number of bars ' setting
So that its value matches your measured number of bars (101)
Press OK to confirm and wait for the indicator to refresh.
STRATEGY USAGE
If your strategy uses VPoC
to define your resistances
or supports
you can check the VPoCs shown here.
FEEDBACK
I have only used this identifier in BTCUSDT 4h timeframe.
I'm interested to know what needs to be tweaked
in other securities and timeframes.
PINE STUDY TRICK
This study let's you choose the number of decimals the label will use.
CREDITS
I have reused and adapted some code from
'Poor man's volume profile' study
which it's from TradingView IldarAkhmetgaleev user.
I also wanted to thank him for helping me understanding his study.
I have reused some code from
'MTF Selection Framework - PineCoders FAQ' study
which it's from TradingView PineCoders user.
Session S/RThis indicator marks the resistances and supports of the post, pre and market sessions of the previous day projecting up to the market of the day, also it marks the hours of these three markets allowing to identify the beginning and end of the sessions in London, Hong Kong, and America.
RVOL - R4RocketRelative volume or RVOL for short is an indicator that is used to measure how 'In Play' the stock is. Simply put, it helps to quantify how interested everybody is in the given stock - higher the value, higher the interest and hence higher is the probability for movement in the stock.
I have tried to create RVOL (Relative Volume ) Indicator as per the description that I read on SMB Capital blog. The blog is a great resource.
...................................................................................................................................................................................
How to use the indicator - The indicator is meant for INTRADAY ONLY.
The indicator has following inputs -
1. RVOL Period - Value from 3 to 14 (Default Value = 4)
This is used to calculate the average volume over the given period of days. e.g. average volume for the last 5 days, last 3 days, last 10 days etc. NOTE - If you use higher RVOL Period on smaller timeframes, the code will give an error. So I recommend using 4 or lower for 5 min timeframe. (Nothing will work on 1 min chart and you can experiment for other timeframes.)
2. RVOL Sectional - True / False (Default Value = False)
If you check this box then you will be able to calculate the RVOL for a particular session (or between particular sessions) in that trading day.
What do I mean by session?
Well I have divided the trading day into 6 (almost) equally spaced sessions in time, i.e. 6 hours and 15 mins (for NSE - India) of trading day is divided into 1 hr - 1st session, 1 hr - 2nd session, 1 hr - 3rd session, 1 hr - 4th session, 1 hr - 5th session, 1 hr and 15 min - 6th session.
Before using 3rd and 4th inputs of indicator, RVOL Sectional box MUST BE CHECKED FIRST.
3. RVOL From Session - 1 to 6 (Default Value = 1)
4. RVOL To Session - 1 to 6 (Default Value = 2)
Now if you select 2 in "RVOL From Session" input and 3 in "RVOL To Session" input, the indicator will calculate RVOL for the 2nd and 3rd hour of the trading day. If you select 3 in both the inputs, then the indicator will give RVOL for the 3rd hour of the trading day.
5. RVOL Trigger - 0.2 to 10 (Default Value = 2)
Filter to find days having RVOL above that value. The indicator turns green (or colour of your choice) when RVOL is more than "RVOL Trigger".
...................................................................................................................................................................................
Hope this indicator will add some value in your trading endeavor.
“Only The Game, Can Teach You The Game” – Jesse Livermore
Yours sincerely,
R4Rocket
**If you have some awesome idea for improvement of the indicator - request you to update the code and share the same.
TRADING VIEW INDICATOR - PINE TUTORIAL 5After a long gap, I have written the 5th tutorial for the pine script. You can find the others below, if you read through all of these you should be good to do your own writing.
This script mimics the Trading View Indicator . For example this one below.
www.tradingview.com
It shows the net result of the 28 indicator, either as buy or sell. I have worked hard to make sure it matches the trading view results but I am not in hundred percent agreement with tradingView on SMA, EMA and Ichimoku indicator.
There are many commented plots because I needed to check separately if each indicator is working correctly.
Someone else wrote this code but they did not make it public. It took me about 3 weeks to write this and to be honest it could be cleaner and better commented.
If you find any mistake please let me know. I hope it will be useful in your learning.
Sim PackThis is a custom indicator that includes the following:
EMA's 50, 100 and 200
SMA 20
Moving average cross support and resistance levels
Colored bars associated with 4-hour AM sessions for Asia, UK, and US
1-hour alerts prior to AM sessions
Plots of previous AM session close during current AM session
Session TimeZonesThis indicators show background colours to identify world timezones
New York, London, Tokio, China and Sydney sessions
You can also setup timeframe intervals to show or hide.
Time Values based on UTC: ** YOU HAVE TO SETUP YOUR CHARTS TO 0-UTC TIMEZONE **
Values from: en.wikipedia.org
New York: UTC-5
Market Session: 09:30 - 16:00 (Local Time)
Market Session: 14:30 - 21:00 (UTC Based Time)
London: UTC
Market Session: 08:00 - 16:30 (Local Time)
Market Session: 08:00 - 16:30 (UTC Based Time)
Tokyo: UTC+9
Market Session: 09:00 - 15:00 (Local Time)
Market Session: 00:00 - 06:00 (UTC Based Time)
China: UTC+8
Market Session: 09:30 - 16:00 (Local Time)
Market Session: 01:30 - 08:00 (UTC Based Time)
Sydney: UTC+10
Market Session: 10:00 - 16:00 (Local Time)
Market Session: 00:00 - 06:00 (UTC Based Time)
Can be used to know from what time of the world they are traders awake or
to search correlations between big moves and timezones hours.
Thanks to:
www.tradingcode.net
01/06/2018
Crude Roll Trade SimulatorEDIT : The screen cap was unintended with the script publication. The yellow arrow is pointing to a different indicator I wrote. The "Roll Sim" indicator is shown below that one. Yes I could do a different screen cap, but then I'd have to rewrite this and frankly I don't have time. END EDIT
If you have ever wanted to visualize the contango / backwardation pressure of a roll trade, this script will help you approximate it.
I am writing this description in haste so go with me on my rough explanations.
A "roll trade" is one involving futures that are continually rolled over into future months. Popular roll trade instruments are USO (oil futures) and UVXY (volatility futures).
Roll trades suffer hits from contango but get rewarded in periods of backwardation. Use this script to track the contango / backwardation pressure on what you are trading.
That involves identifying and providing both the underlying indexes and derivatives for both the front and back month of the roll trade. What does that mean? Well the defaults simulate (crudely) the UVXY roll trade: The folks at Proshares buy futures that expire 60 days away and then sell those 30 days later as short term futures (again, this is a crude description - see the prospectus) and we simulate that by providing the Roll Sim indicator the symbols VIX and VXV along with VIXY and VIXM. We also provide the days between the purchase and sale of the rolled futures contract (in sessions, which is 22 days by my reckoning).
The script performs ema smoothing and plots both the index lines (VIX and VXV as solid lines in our case) and the derivatives (VIXY and VIXM as dotted lines in our case) with the line graphs offset by the number of sessions between the buy and sell. The gap you see represents the contango / backwardation the derivative roll trades are experiencing and gives you an idea how much movement has to happen for that gap to widen, contract or even invert. The background gets painted red in periods of backwardation (when the longer term futures cost less than when sold as short term futures).
Fortunately indexes are calibrated to the same underlying factors, so their values relative to each other are meaningful (ie VXV of 18 and VIX of 15 are based on the same calculation on premiums for S&P500 symbols, with VXV being normally higher for time value). That means the indexes graph well without and adjustments needed. Unfortunately derivatives suffer contango / backwardation at different rates so the value of VIXY vs VIXM isn't really meaningful (VIXY may take a reverse split one year while VIXM doesn't) ... what is meaningful is their relative change in value day to day. So I have included a "front month multiplier" which can be used to get the front month line "moved up or down" on the screen so it can be compared to the back month.
As a practical matter, I have come to hide the lines for the derivatives (like VIXY and VIXM) and just focus on the gap changes between the indexes which gives me an idea of what is going on in the market and what contango/backwardation pressure is likely to exist next week.
Hope it is useful to you.
forex session - Opening-Range- JayyMy first try on anything forex. Let me know if it needs adjustment.
This is Opening Range for forex
Targets set at 127% , 162%, 200 %, 262 %, 362%, 423%, 685%, 1109% and 1794%
of the selected opening range. You can adjust targets as you like in the dialogue box
362%, 423%, 685%, 1109% and 1794% levels will not show unless selected in the dialogue box.
Check any one (only one) of the time periods to change the opening range period to suit.
New York opens at 8:00 am to 5:00 pm EST (EDT)
Tokyo opens at 7:00 pm to 4:00 am EST (EDT)
Sydney opens at 5:00 pm to 2:00 am EST (EDT)
London opens at 3:00 am to 12:00 noon EST (EDT)
Because the actual forex day starts at 5pm it is not possible to plot some time periods correctly
ie try 120 minutes on the New York session. (Although this is not a problem with the other sessions)
If you keep to an hour or less and use periods that divide evenly into an hour all will be fine. All periods will actually work but will start looking a little funny.
No such problem occurs if you just use 5pm est to 5 pm est. other sessions could be put in as options or hard wired in with a few lines of script changes
There is an option in the dialogue box to display fib targets within Opening Range itself.
In the far past I adapted some original work created by Chris Moody from a 7-07-2014 script - there have been multiple adaptations . The script layout/ structure remains similar and messages regarding targets achieved (lines 224 - 230) are from the original script. In the original Chris gave Special Thanks To "The Coding Genius Behind The Curtain" - so hat tip to both.
Volume Edge Pro[wjdtks255]Volume Edge Pro: Indicator Description
Volume Edge Pro is an advanced volume analysis tool designed to identify institutional accumulation and significant supply levels. Unlike standard volume bars, this indicator categorizes trading volume into four distinct types based on price action and historical comparisons, helping traders spot high-probability breakout opportunities.
Key Components:
Blue Bars (PPV - Pocket Pivot Volume): Indicates institutional accumulation. It appears when up-day volume exceeds the highest down-day volume of the last 10 trading sessions.
Green Bars (RGV - Recent Green Volume): Represents strong buying pressure where up-day volume is higher than the 50-period moving average.
Red Bars (RRV - Recent Red Volume): Signifies heavy supply or selling pressure where down-day volume is higher than the 50-period moving average.
Grey Bars: Represents standard market volume without significant institutional involvement.
Trading Strategy (How to Trade)
1. Identifying Accumulation (The Base)
Look for multiple Blue Bars (PPV) during a consolidation phase or within a "base." This suggests that "Smart Money" is quietly accumulating shares without significantly driving up the price yet.
2. The Buy Signal
The ideal entry point is when the price breaks out of a consolidation resistance level, especially when the breakout is confirmed by a Blue (PPV) or Green (RGV) bar. The presence of PPV signals within the base increases the reliability of the breakout.
3. Overcoming Supply (The RRV Rule)
When a Red Bar (RRV) appears, it marks a level of "unconsumed supply."
Treat the high of the RRV candle as a resistance level.
A bullish reversal or continuation is confirmed only when the price reclaims the high of the RRV day or when subsequent PPVs/RGVs overwhelm the previous selling volume.
4. Risk Management
If a massive Red Bar (RRV) appears after a long uptrend and the price breaks below the prior support, it may indicate institutional distribution (selling), signaling a time to exit or tighten stop-losses.
Bollinger BandWidth (Session-Adjusted)Description
This indicator is a session-adjusted version of Bollinger BandWidth (BBW), specifically designed for instruments with limited trading hours, such as European stock indices (e.g., FTSE MIB, DAX, CAC, which trades from 09:00 to 17:30 CET — 8.5 hours) or individual stocks.
Standard Bollinger BandWidth on intraday charts can be distorted because calculations include non-trading periods (flat prices overnight), leading to inaccurate volatility readings.This script dynamically adjusts the Bollinger Bands calculation to approximate daily periods based on the actual trading session length, ensuring the BBW reflects true market volatility during active hours.
Key Features
Session-Adjusted Bollinger Bands:
The lookback period (default 20 days) is converted into an equivalent number of intraday candles based on your chart's timeframe and the session duration. This makes the indicator suitable for intraday timeframes (e.g., 5min, 15min, 1H) on limited-session assets.
Bollinger BandWidth (BBW) as Percentage:
Plots (Upper Band - Lower Band) / Middle Band * 100, a relative measure of volatility (higher values = wider bands = higher volatility).
Dynamic Expansion and Contraction Levels:
Red line: Highest BBW over the selected expansion lookback period (default 25 days) — highlights peak volatility levels.
Green line: Lowest BBW over the selected contraction lookback period (default 25 days) — highlights extreme squeezes (low volatility).
Fully customizable inputs for session hours, BB parameters, and dynamic level periods.
How It Works
Session Adjustment: Input session duration (default 8.5 hours).
The script calculates approximate candles per trading day for your current chart timeframe.
Bollinger Bands are computed using length * candlesPerDay bars, simulating a true multi-day calculation within intraday data.
BBW Calculation:
Basis: Simple Moving Average (SMA).
Deviation: Multiplier × Standard Deviation.
BBW = (2 × Deviation / Basis) × 100.
Dynamic Lines:
Expansion line uses the same session-adjusted period for highest BBW.
Contraction line uses the lowest BBW.
Usage and Trading Ideas
Bollinger BandWidth is a powerful volatility indicator popularized by John Bollinger. Low BBW values indicate band contraction ("Squeeze") — periods of low volatility often followed by strong breakouts. High BBW values indicate expansion — trending or volatile phases that may exhaust and lead to consolidation.
Squeeze Setup:
Watch for BBW dropping toward or below the dynamic low (green) line. This signals potential impending volatility expansion and breakout opportunities.
Expansion Confirmation:
BBW rising above the dynamic high (red) line suggests strong volatility — useful for trend-following or avoiding counter-trend trades.
Combine with price action (e.g., break of support/resistance), volume, or momentum indicators (RSI, MACD) for directional bias.
Ideal for intraday or swing trading on European indices, stocks, or other limited-session instruments where standard BBW would be misleading.
This adjustment makes the indicator more accurate on lower timeframes compared to built-in versions, providing cleaner volatility signals aligned with real trading sessions.
Enjoy the script — feedback welcome!
Liquidity Retest Strategy (Apicode) - TP/SL Lines FixedTechnical Documentation:
1. Purpose and underlying concept
This strategy targets a common behavior in liquid markets: liquidity sweeps around meaningful support/resistance levels, followed by a retest and rejection (reversal) with confirmation.
The core thesis is that many initial “breaks” are not continuation moves, but rather stop-runs and order harvesting. After the sweep, price reclaims the level and closes back on the opposite side, offering a structured entry with defined risk.
The strategy includes:
Support/Resistance detection via pivots
Dynamic selection of the “working” level using an ATR-based proximity window
Rejection validation via candle structure (wick + close)
Optional filters: volume, VWAP-like bias, and EMA trend
Risk management with static TP/SL (ATR-based or %), plus trailing stop (ATR-based or %), with per-trade lines plotted
2. Main components
2.1. Volatility metric: ATR
atr = ta.atr(atrLength) is used in two essential places:
Level selection (proximity to S/R): prevents trading levels that are too far from current price.
Sweep validation (minimum wick size): requires the wick to extend beyond the level by a volatility-relative amount.
Optionally, ATR can also be used for:
Static TP/SL (when usePercent = false)
Trailing stop (when useTrailPercent = false)
2.2. Building S/R levels with pivots
Pivots are detected using:
pivotHigh = ta.pivothigh(pivotLookback, rightBars)
pivotLow = ta.pivotlow(pivotLookback, rightBars)
Each confirmed pivot is stored in arrays:
resistanceLevels for resistance
supportLevels for support
The array size is capped by maxLevels, which reduces noise and manages chart resource usage (lines).
2.3. Selecting the “best” level each bar
On each bar, a single support S and/or resistance R candidate is chosen:
Support: nearest level below price (L < price)
Resistance: nearest level above price (L > price)
Only levels within atr * maxDistATR are considered
This produces dynamic “working levels” that adapt to price location and volatility.
2.4. Rejection pattern (retest + sweep)
After selecting the working level:
Support rejection (long setup)
Conditions:
Low touches/crosses support: low <= S
Close reclaims above: close > S
Bullish candle: close > open
Sufficient wick below the level (liquidity sweep): (S - low) >= atr * minWickATR
This aims to capture a stop sweep below support followed by immediate recovery.
Resistance rejection (short setup)
Symmetric conditions:
High touches/crosses resistance: high >= R
Close rejects back below: close < R
Bearish candle: close < open
Sufficient wick above the level: (high - R) >= atr * minWickATR
2.5. Optional filters
Final signals are the rejection pattern AND enabled filters:
1.- Volume filter
High volume is defined as: volume > SMA(volume, 20) * volMult
When useVolFilter = true, setups require relatively elevated participation
2.- VWAP-like bias filter
A VWAP-like series is computed over vwapLength (typical price weighted by volume)
When useVWAPFilter = true:
- Longs only if close > vwap
- Shorts only if close < vwap
3.- EMA trend filter
Uptrend if EMA(fast) > EMA(slow)
When useTrendFilter = true:
- Longs only in uptrend
- Shorts only in downtrend
2.6. Backtest time window (time filter)
To keep testing focused and reduce long-history noise:
useMaxLookbackDays enables the filter
maxLookbackDays defines how many days back from timenow entries are allowed
Entries are permitted only when time >= startTime.
3. Entry rules and position control
3.1. Entries
strategy.entry('Long', strategy.long) when longSetup and no long position is open
strategy.entry('Short', strategy.short) when shortSetup and no short position is open
No pyramiding is allowed (pyramiding = 0). Position gating is handled by:
Long allowed if strategy.position_size <= 0
Short allowed if strategy.position_size >= 0
4. Risk management: TP/SL and trailing (with plotted lines)
4.1. Detecting entry/exit events
Events are identified via changes in strategy.position_size:
LongEntry: transition into a long
shortEntry: transition into a short
flatExit: transition back to flat
This drives per-trade line creation, updates, and cleanup of state variables.
4.2. Static TP/SL
On entry, entryPrice := strategy.position_avg_price is stored.
Percent mode (usePercent = true)
Long:
staticSL = entryPrice*(1 - slPerc/100)
staticTP = entryPrice*(1 + tpPerc/100)
Short:
staticSL = entryPrice*(1 + slPerc/100)
staticTP = entryPrice*(1 - tpPerc/100)
ATR mode (usePercent = false)
Long:
staticSL = entryPrice - atrAtEntry*slATR
staticTP = entryPrice + atrAtEntry*tpATR
Short:
staticSL = entryPrice + atrAtEntry*slATR
staticTP = entryPrice - atrAtEntry*tpATR
4.3. Trailing stop (custom)
While a position is open, the script tracks the most favorable excursion:
Long: hhSinceEntry = highest high since entry
Short: llSinceEntry = lowest low since entry
A trailing candidate is computed:
Percent trailing (useTrailPercent = true)
Long: trailCandidate = hhSinceEntry*(1 - trailPerc/100)
Short: trailCandidate = llSinceEntry*(1 + trailPerc/100)
ATR trailing (useTrailPercent = false)
Long: trailCandidate = hhSinceEntry - atr*trailATR
Short: trailCandidate = llSinceEntry + atr*trailATR
Then the effective stop is selected:
Long: slUsed = max(staticSL, trailCandidate) when useTrail is enabled
Short: slUsed = min(staticSL, trailCandidate) when useTrail is enabled
If useTrail is disabled, slUsed remains the static stop.
Take profit remains static:
tpUsed = staticTP
Exit orders are issued via:
strategy.exit(..., stop=slUsed, limit=tpUsed)
4.4. Per-trade TP/SL lines
On each entry, two lines are created (SL and TP) via f_createLines().
During the trade, the SL line updates when trailing moves the stop; TP remains fixed.
On exit (flatExit), both lines are finalized on the exit bar and left on the chart as historical references.
This makes it straightforward to visually audit each trade: entry context, intended TP, and trailing evolution until exit.
5. Visualization and debugging
BUY/SELL labels with configurable size (xsize)
Debug mode (showDebug) plots the chosen working support/resistance level each bar
Stored pivot levels are drawn using reusable line slots, projected a fixed 20 bars to the right to keep the chart readable and efficient
6. Parameter guidance and practical notes
pivotLookback / rightBars: controls pivot significance vs responsiveness. Lower rightBars confirms pivots earlier but can increase noise.
maxDistATR: too low may reject valid levels; too high may select distant, less relevant levels.
minWickATR: key quality gate for “real” sweeps. Higher values reduce frequency but often improve signal quality.
Filters:
Volume filter tends to help in ranges and active sessions.
VWAP bias is useful intraday to align trades with session positioning.
EMA trend filter is helpful in directional markets but may remove good mean-reversion setups.
Percent TP/SL: provides consistent behavior across assets with variable volatility, but is less adaptive to sudden regime shifts.
Percent trailing: can capture extensions well; calibrate trailPerc per asset/timeframe (too tight = premature exits).
7. Known limitations
Pivot-derived levels are a heuristic; in strong trends, valid retests may be limited.
The time filter uses timenow; behavior may vary depending on historical context and how the platform evaluates “current time.”
TP/SL and trailing are computed from bar OHLC; in live trading, intrabar sequencing and fills may differ from bar-close simulation.
Candle Boxes (Border + Midline + Open level)📦 Candle Boxes (Border + Midline + Open Level)
Candle Boxes is a visual multi-timeframe (HTF) tool designed to display higher-timeframe candle structure directly on a lower-timeframe chart.
It helps traders understand HTF context without constantly switching between timeframes.
🔍 What this indicator displays
For each HTF candle, the indicator draws:
HTF Box
Top = HTF High
Bottom = HTF Low
Horizontal span = full HTF candle duration
Border color
Bullish HTF candle → bullish color
Bearish HTF candle → bearish color
Midline (50%) – optional
Exact midpoint of the HTF range: (High + Low) / 2
HTF Open level – optional
Horizontal line at the HTF candle open price
All elements are drawn without background fill to keep the chart clean and readable.
⏱ Multi-Timeframe logic
HTF is selected using the HTF (box timeframe) input
Data is retrieved via request.security() with no repainting
Levels update only while the HTF candle is forming
Once the HTF candle closes, its box and lines remain fixed
🧠 Intended use
This indicator is designed for:
visualizing higher-timeframe context on lower charts
analyzing HTF structure without changing timeframe
supporting:
support & resistance analysis
price action studies
intraday and swing trading context
This tool does not generate buy/sell signals and is not a trading strategy.
⚙️ Settings
HTF & history
HTF (box timeframe) – higher timeframe used to build boxes
Keep last HTF boxes – number of most recent HTF boxes to keep
used to comply with TradingView object limits
the script automatically removes the oldest boxes and lines
Visual options
Border (on/off, width, transparency, colors)
Midline (on/off, colors, transparency)
HTF Open line (on/off, color, width, transparency)
⚠️ Important notes
TradingView enforces strict limits on drawn objects (boxes and lines)
This indicator is optimized to:
display as much historical data as technically possible
automatically manage and delete older objects
Higher HTF → fewer boxes visible in history
Lower HTF → more boxes, faster object-limit usage
🔁 Suggested Timeframe Combinations
This indicator is designed to work best when the selected HTF is significantly higher than the chart timeframe.
Below are practical, commonly used combinations:
Intraday trading
Chart: 5m → HTF: 1H
Chart: 15m → HTF: 4H
Useful for identifying higher-timeframe structure during active trading sessions.
Swing trading
Chart: 30m → HTF: 4H
Chart: 1H → HTF: Daily
Helps visualize major HTF ranges and key levels while managing trades over multiple days.
Higher-timeframe analysis
Chart: 1H → HTF: Weekly
Chart: 4H → HTF: Weekly
Best suited for understanding broader market context, range behavior, and HTF price positioning.
General guideline
A 4× to 8× ratio between chart timeframe and HTF is usually a good starting point
Larger ratios provide cleaner structure but fewer visible boxes
Smaller ratios provide more detail but consume object limits faster
These combinations are guidelines only and can be adjusted based on personal trading style and market conditions.
📌 Disclaimer
This indicator is a visual analysis tool only.
It does not provide financial advice or guarantee any trading outcome.
All trading decisions are made at your own risk.
Always combine this tool with your own analysis and risk management rules.
ProphetQuant LevelsProphetQuant Levels
ProphetQuant Levels is an open-source chart tool that helps you display your own price levels in a clean, organized way.
You enter levels directly into the script using simple level names and prices (for example: HV 415.00, B+ 432.10, B- 421.00, VAH/VAL, VIX R1/R2/S1/S2). The script reads your input and plots each level as a horizontal line with optional right-side labels and styling controls. Levels are plotted from the Globex session start by default, so they align consistently across sessions.
You can enter a single set of levels, or include multiple lines labeled by symbol. When multiple lines are present, the script automatically uses the line that matches the current chart symbol.
The indicator also includes an Initial Balance (IB) display with automatic session selection based on the instrument, along with optional labels and a midline.
This script is intended as a visual reference tool only. It does not calculate price levels, generate trade signals, or automate trading decisions.
Provided for educational and informational purposes only. This is not financial or trading advice.
Adaptive ML Trailing Stop [BOSWaves]Adaptive ML Trailing Stop – Regime-Aware Risk Control with KAMA Adaptation and Pattern-Based Intelligence
Overview
Adaptive ML Trailing Stop is a regime-sensitive trailing stop and risk control system that adjusts stop placement dynamically as market behavior shifts, using efficiency-based smoothing and pattern-informed biasing.
Instead of operating with fixed ATR offsets or rigid trailing rules, stop distance, responsiveness, and directional treatment are continuously recalculated using market efficiency, volatility conditions, and historical pattern resemblance.
This creates a live trailing structure that responds immediately to regime change - contracting during orderly directional movement, relaxing during rotational conditions, and applying probabilistic refinement when pattern confidence is present.
Price is therefore assessed relative to adaptive, condition-aware trailing boundaries rather than static stop levels.
Conceptual Framework
Adaptive ML Trailing Stop is founded on the idea that effective risk control depends on regime context rather than price location alone.
Conventional trailing mechanisms apply constant volatility multipliers, which often results in trend suppression or delayed exits. This framework replaces static logic with adaptive behavior shaped by efficiency state and observed historical outcomes.
Three core principles guide the design:
Stop distance should adjust in proportion to market efficiency.
Smoothing behavior must respond to regime changes.
Trailing logic benefits from probabilistic context instead of fixed rules.
This shifts trailing stops from rigid exit tools into adaptive, regime-responsive risk boundaries.
Theoretical Foundation
The indicator combines adaptive averaging techniques, volatility-based distance modeling, and similarity-weighted pattern analysis.
Kaufman’s Adaptive Moving Average (KAMA) is used to quantify directional efficiency, allowing smoothing intensity and stop behavior to scale with trend quality. Average True Range (ATR) defines the volatility reference, while a K-Nearest Neighbors (KNN) process evaluates historical price patterns to introduce directional weighting when appropriate.
Three internal systems operate in tandem:
KAMA Efficiency Engine : Evaluates directional efficiency to distinguish structured trends from range conditions and modulate smoothing and stop behavior.
Adaptive ATR Stop Engine : Expands or contracts ATR-derived stop distance based on efficiency, tightening during strong trends and widening in low-efficiency environments.
KNN Pattern Influence Layer : Applies distance-weighted historical pattern outcomes to subtly influence stop placement on both sides.
This design allows stop behavior to evolve with market context rather than reacting mechanically to price changes.
How It Works
Adaptive ML Trailing Stop evaluates price through a sequence of adaptive processes:
Efficiency-Based Regime Identification : KAMA efficiency determines whether conditions favor trend continuation or rotational movement, influencing stop sensitivity.
Volatility-Responsive Scaling : ATR-based stop distance adjusts automatically as efficiency rises or falls.
Pattern-Weighted Adjustment : KNN compares recent price sequences to historical analogs, applying confidence-based bias to stop positioning.
Adaptive Stop Smoothing : Long and short stop levels are smoothed using KAMA logic to maintain structural stability while remaining responsive.
Directional Trailing Enforcement : Stops advance only in the direction of the prevailing regime, preserving invalidation structure.
Gradient Distance Visualization : Gradient fills reflect the relative distance between price and the active stop.
Controlled Interaction Markers : Diamond markers highlight meaningful stop interactions, filtered through cooldown logic to reduce clustering.
Together, these elements form a continuously adapting trailing stop system rather than a fixed exit mechanism.
Interpretation
Adaptive ML Trailing Stop should be interpreted as a dynamic risk envelope:
Long Stop (Green) : Acts as the downside invalidation level during bullish regimes, tightening as efficiency improves.
Short Stop (Red) : Serves as the upside invalidation level during bearish regimes, adjusting width based on efficiency and volatility.
Trend State Changes : Regime flips occur only after confirmed stop breaches, filtering temporary price spikes.
Gradient Depth : Deeper gradient penetration indicates increased extension from the stop rather than imminent reversal.
Pattern Influence : KNN weighting affects stop behavior only when historical agreement is strong and remains neutral otherwise.
Distance, efficiency, and context outweigh isolated price interactions.
Signal Logic & Visual Cues
Adaptive ML Trailing Stop presents two primary visual signals:
Trend Transition Circles : Display when price crosses the opposing trailing stop, confirming a regime change rather than anticipating one.
Stop Interaction Diamonds : Indicate controlled contact with the active stop, subject to cooldown filtering to avoid excessive signals.
Alert generation is limited to confirmed trend transitions to maintain clarity.
Strategy Integration
Adaptive ML Trailing Stop fits within trend-following and risk-managed trading approaches:
Dynamic Risk Framing : Use adaptive stops as evolving invalidation levels instead of fixed exits.
Directional Alignment : Base execution on confirmed regime state rather than speculative reversals.
Efficiency-Based Tolerance : Allow greater price fluctuation during inefficient movement while enforcing tighter control during clean trends.
Pattern-Guided Refinement : Let KNN influence adjust sensitivity without overriding core structure.
Multi-Timeframe Context : Apply higher-timeframe efficiency states to inform lower-timeframe stop responsiveness.
Technical Implementation Details
Core Engine : KAMA-based efficiency measurement with adaptive smoothing
Volatility Model : ATR-derived stop distance scaled by regime
Machine Learning Layer : Distance-weighted KNN with confidence modulation
Visualization : Directional trailing stops with layered gradient fills
Signal Logic : Regime-based transitions and controlled interaction markers
Performance Profile : Optimized for real-time chart execution
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Tight adaptive trailing for short-term momentum control
15 - 60 min : Structured intraday trend supervision
4H - Daily : Higher-timeframe regime monitoring
Suggested Baseline Configuration:
KAMA Length : 20
Fast/Slow Periods : 15 / 50
ATR Period : 21
Base ATR Multiplier : 2.5
Adaptive Strength : 1.0
KNN Neighbors : 7
KNN Influence : 0.2
These suggested parameters should be used as a baseline; their effectiveness depends on the asset volatility, liquidity, and preferred entry frequency, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Excessive chop or overreaction : Increase KAMA Length, Slow Period, and ATR Period to reinforce regime filtering.
Stops feel overly permissive : Reduce the Base ATR Multiplier to tighten invalidation boundaries.
Frequent false regime shifts : Increase KNN Neighbors to demand stronger historical agreement.
Delayed adaptation : Decrease KAMA Length and Fast Period to improve responsiveness during regime change.
Adjustments should be incremental and evaluated over multiple market cycles rather than isolated sessions.
Performance Characteristics
High Effectiveness:
Markets exhibiting sustained directional efficiency
Instruments with recurring structural behavior
Trend-oriented, risk-managed strategies
Reduced Effectiveness:
Highly erratic or event-driven price action
Illiquid markets with unreliable volatility readings
Integration Guidelines
Confluence : Combine with BOSWaves structure or trend indicators
Discipline : Follow adaptive stop behavior rather than forcing exits
Risk Framing : Treat stops as adaptive boundaries, not forecasts
Regime Awareness : Always interpret stop behavior within efficiency context
Disclaimer
Adaptive ML Trailing Stop is a professional-grade adaptive risk and regime management tool. It does not forecast price movement and does not guarantee profitability. Results depend on market conditions, parameter selection, and disciplined execution. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates structure, volatility, and contextual risk management.
Volume + VWAP + Prior Session Levels DashboardVolume Spike + VWAP + Session Levels Dashboard
This indicator is a real-time market context dashboard designed to help traders quickly understand participation, value, and key reference levels without cluttering the chart with multiple indicators.
Instead of plotting lines or signals, the script summarizes critical intraday information into a compact on-chart table, allowing traders to make faster, more informed decisions based on how active the market is, where fair value is, and where important reference levels exist.
Core Concepts Used
This script is built on three widely used market principles:
Relative Volume Participation
Volume-Weighted Average Price (VWAP)
Prior Session Reference Levels
The indicator does not attempt to predict direction. Its purpose is to provide objective context that traders can combine with their own strategies.
How the Indicator Works
1. Volume Spike Analysis (Relative Volume)
Rather than showing raw volume, the script measures how unusual the current bar’s volume is compared to recent activity.
A moving average of volume is calculated using a user-defined lookback period.
Current volume is divided by this average to produce a volume multiple (for example, 2.0× normal volume).
This multiple is translated into a descriptive strength label, ranging from Below Threshold to Legendary.
This approach helps traders immediately recognize when participation is significantly above normal, which often coincides with institutional activity, breakouts, or important reactions near key levels.
2. Daily VWAP (Current and Prior Day)
VWAP (Volume-Weighted Average Price) represents the average price traded, weighted by volume, and is commonly used as a measure of fair value.
This script calculates VWAP internally by:
Accumulating price × volume throughout the day
Dividing by total volume
Automatically resetting at the start of each new trading day
The dashboard displays:
Current day VWAP – real-time session fair value
Prior day VWAP – an important reference from the previous session
Traders often use these levels to evaluate whether price is trading at a premium, discount, or near equilibrium.
3. Previous Day High and Low
The indicator also displays:
Previous day high
Previous day low
These levels frequently act as liquidity targets, support/resistance zones, or reaction points, especially during intraday trading sessions.
Dashboard Design
All information is presented in a two-column dashboard showing:
Metric name
Current value or status
The dashboard can be positioned in any corner of the chart and updates in real time, allowing traders to maintain awareness without constantly switching indicators or timeframes.
How to Use This Indicator
This script is best used as a decision-support tool, not a standalone trading system.
Typical uses include:
Identifying abnormally high volume near important price levels
Evaluating price position relative to VWAP
Monitoring reactions around prior day highs and lows
Staying oriented during fast market conditions without chart clutter
The indicator works on any timeframe and adapts automatically to the instrument’s trading session.
Customization Options
Users can:
Adjust the volume moving average length to define what “normal” volume means
Choose the price source used for VWAP calculation
Change the dashboard’s on-screen position
Summary
The Volume Spike + VWAP + Session Levels Dashboard provides a clear, objective snapshot of market conditions by combining participation, value, and reference levels into a single visual tool. It is designed to help traders answer a simple but critical question:
“Is the market doing something meaningful right now — and where?”
This indicator focuses on context, clarity, and usability for traders who want insight without unnecessary complexity.
SB A / A++ ALERT ENGINE (Alerts Only)SB A / A++ Alert Engine
Session-Based Level Rejection Strategy (Automation-Ready)
Overview
The SB A / A++ Alert Engine is a rules-based TradingView indicator designed to identify high-probability institutional-style reversal trades using Stacey Burke–inspired concepts such as previous day levels, session structure, opening ranges, and round numbers.
This tool is alerts-only by design, making it ideal for:
TradingView alerts
Webhook automation
Telegram / Discord signal delivery
External trade execution systems
It does not repaint and evaluates signals on confirmed bar close only.
---
Core Trading Idea
Price frequently reacts at important reference levels during active trading sessions.
This script looks for rejection + confirmation at those levels and grades setups based on confluence and candle quality.
Only A-grade and A++-grade setups are alerted.
---
What the Script Detects
📌 Key Levels (Confluence Engine)
Previous Day High / Low
Initial Balance (Mon–Tue range, active Wed–Fri)
Session Opening Range (first hour of London / NY)
Round Numbers (configurable tick spacing)
Each level touched contributes to confluence — without double-counting the same zone.
---
🕒 Session Control
Signals are only allowed during:
London Session
New York Session
Includes:
Session resets
Max alerts per session
Cooldown between signals
---
🔎 Candle Confirmation
Valid signals require clear rejection behavior, such as:
Bullish / Bearish Engulfing candle
Strong Pin Bar (wick ≥ 2× body)
---
🧠 Trade Grades
A Trade
Valid session
ATR percentile filter passed
≥ 1 level of confluence
Directional rejection
A++ Trade
All A-Trade rules
Strong confirmation candle (engulf or pin)
≥ 2 independent confluence zones
Grades are displayed visually and included in alert payloads.
---
📊 Volatility Filter (ATR Percentile)
Instead of fixed ATR thresholds, the script uses an ATR percentile rank, ensuring trades only trigger when volatility is above normal for that market.
This adapts automatically across:
Forex
Indices
Futures
Crypto
---
Visual Output
▲ Green / Lime triangles → LONG (A / A++)
▼ Orange / Red triangles → SHORT (A / A++)
Color intensity reflects trade grade
Optional session shading (if enabled)
---
Alerts & Automation
All alerts are webhook-ready and structured for automation.
Each alert includes:
Symbol
Timeframe
Direction (LONG / SHORT)
Trade grade (A or A++)
Confluence count
Entry price (close of signal bar)
Designed to integrate with:
Telegram bots
Trade execution bridges
Risk management engines
---
What This Script Is (and Is Not)
✅ IS
A high-quality signal engine
Non-repainting
Automation-friendly
Institutional level-based logic
❌ IS NOT
A scalping indicator
A prediction tool
A “trade every candle” system
This tool favors patience, structure, and quality over frequency.
---
Recommended Usage
Timeframes: M5 – M15
Best markets: FX majors, indices, liquid crypto
Combine with your own execution, risk, and trade management rules
---
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice. Always test on demo or paper trading before using live capital.
VWAP Extreme Zones (Elite Style)Short Description
VWAP Extreme Zones (Elite Style) highlights statistically stretched price areas above and below VWAP, helping traders identify potential overextension, mean-reversion zones, and high-risk breakout areas during intraday sessions.
Disclaimer
This indicator is provided for educational and analytical purposes only.
It does not constitute financial advice or trade signals.
All trading involves risk. Always confirm with price action, market context, and proper risk management before taking any trade.
My Price Curtain by @magasineMy Price Curtain by @magasine
Functional Description
My Price Curtain is a high-performance visual analysis tool designed to provide traders with immediate context regarding price positioning relative to institutional benchmarks. Unlike standard moving averages, this indicator creates a "curtain" of data that dynamically colors the chart background and provides real-time performance metrics to identify trend dominance at a glance.
Key Features & Differential Value
Multi-Method Dynamic Benchmarking: Choose between five different calculation methods: SMA, EMA, WMA, RMA, or a manual Fixed Price. This allows you to switch from a standard technical trend (MA) to a "break-even" or "entry point" analysis (Fixed Price) instantly.
Intelligent Visual Feedback: The "Curtain" logic automatically colors the chart background—Green for Bullish dominance and Red for Bearish dominance—reducing cognitive load during fast-paced sessions.
Advanced Statistical Tracking: The indicator includes a built-in Performance Table that tracks the percentage of bars closing above or below the selected benchmark. This helps traders quantify the strength of a trend over the entire visible dataset.
Precision Labeling & Distance Analysis: A dynamic, color-coded label tracks the price on the Y-axis. It calculates and displays the exact percentage distance from the price to the benchmark in real-time, helping to identify overextended moves.
Optional Deviation Zones: Enable visual "Safety Zones" (boxes) that project a user-defined percentage deviation from the average, assisting in identifying potential volatility expansion or exhaustion areas.
Trading Utilities
Trend Confirmation: Use the background color and "Bars Above" percentage to confirm if you are trading with the path of least resistance.
Scalping & Intraday Support: The "Distance" metric is essential for scalpers to avoid entering trades too far from the average (mean reversion risk).
Custom Strategy Benchmark: Use the "Fixed Price" mode to set your specific entry price and see your real-time performance and "curtain" status relative to your position.
cd_VW_CxOverview
The cd_VW_Cx is a sophisticated trend analysis tool designed to quantify market momentum using Multi-Period VWAP (Volume Weighted Average Price). Unlike standard indicators, this script evaluates the current price relationship across multiple historical VWAP anchors to generate a real-time "Confidence Score" ranging from -100 to +100.
💡 Key Features
• Dynamic Anchoring: Seamlessly switch between Daily, Weekly, or Monthly open anchors to align with your trading style (Scalping, Day Trading, or Swing).
• Algorithmic Scoring (The Score Box): The indicator compares the current VWAP against historical periods.
o Score > +70: Strong Bullish Momentum.
o Score < -70: Strong Bearish Momentum.
• Polyline Rendering: Utilizes Pine Script v6’s advanced polyline architecture for high-performance, sleek visual plotting that doesn't clutter your chart.
• Institutional Support/Resistance: Historical VWAP levels are color-coded, often acting as "invisible" magnetic zones where institutional orders are clustered.
🛠 How to Trade with cd_VW_Cx
1. Momentum Confirmation: Look for the Score Box to turn Teal (Bullish) or Red (Bearish). This indicates that the current trend has statistical backing from multiple previous sessions.
2. The Breakout Signal: The script tracks price crossovers of the current VWAP. A "Bullish Breakout" combined with a high score is a high-probability entry signal.
3. Visual Guidance: Use the custom labels to identify which specific day/week/month’s VWAP is currently being tested as support or resistance.
⚙️ Customizable Settings
• Anchor Selection: Choose the calculation basis (Daily, Weekly, Monthly).
• Thresholds: Adjust the sensitivity of the Bullish/Bearish alerts (Default is +/- 70).
• Visuals: Full control over table positioning, font sizes, and color palettes to match your chart theme.
📢 cd_VW_Cx: Multi-Period VWAP Scoring & Analysis Guide
🔍 Overview & Visual Logic
The labels next to the VWAP levels dynamically change based on your Anchor selection:
• Daily Open: Displays the Day Name (e.g., Monday, Tuesday).
• Weekly Open: Displays the Week Number (1 – 52).
• Monthly Open: Displays the Month Number (1 – 12).
•
General View:
________________________________________
🚦 How to Filter & Track Your Assets
You can monitor your favorite assets using two powerful methods:
1. Real-Time Alerts
Stay updated with TradingView notifications:
• Per Asset: Track a single pair.
• Watchlist Basis: Monitor your entire list at once. Alert Setup Guide:
2. Pine Screener Integration
Filter the market effortlessly using the Pine Screener. Pine Screener View:
________________________________________
⚙️ Settings & Configuration
• Timeframe Selection: Your chart timeframe must be lower than the selected Anchor timeframe. (e.g., If "Daily Open" is selected, the timeframe should be lower than 1D).
• Anchor Choice: Select Daily, Weekly, or Monthly opens.
• Source Selection: Default value is set to ohlc4. Source Settings:
Filtering Criteria Examples:
• Bullish Filtering: Find assets with high momentum scores.
• Bullish Breakout (Single Criteria): Filters assets that have closed above the current VWAP level.
• Combined Strength (Score + Breakout): Filters assets that have a Score > 70 AND a fresh VWAP Breakout simultaneously.
________________________________________
⚠️ Important Notes & Warnings
• Calculation Logic: The indicator calculates levels and scores on timeframes lower than the anchor. It is best used on timeframes that are close to but lower than the anchor.
• Avoid Extreme Gaps: Using a very low timeframe (e.g., 1m) with a very high anchor (e.g., Monthly) increases the risk of erroneous results.
• Optimization: The default score threshold of 70 is a starting point; I recommend adjusting it based on your own trading experience.
• The Power of Confluence: VWAP levels are naturally strong. Their significance increases when they coincide with institutional levels like PDH (Previous Day High), Session H/L, or HTF FVG.
• Experience Matters: A high score alone is not enough for an entry. Always combine this data with your personal strategy.
________________________________________
💬 Community & Feedback
I would love to hear your suggestions regarding the scoring logic or visual improvements! Feel free to share your thoughts in the comments.
Happy Trading! 🚀
RSI Monitor (High/Low) + MTF & Time FilterDual-Source RSI: Calculates RSI on the candle High (to detect selling pressure/overbought) and Candle Low (to detect buying pressure/oversold) rather than just the Close.
Multi-Timeframe (MTF) Dashboard: An on-screen table displays the Real-Time RSI High and Low values for your current chart plus two user-defined higher timeframes (e.g., 1H, 4H).
Session-Based Alerts: A built-in time filter restricts alerts to a specific trading window (e.g., 09:30–16:00), effectively blocking signals during low-volume overnight sessions.
Independent Alert Timeframe: You can configure alerts to monitor a specific timeframe (e.g., 60-min) regardless of the timeframe you are currently viewing.
Real-Time Execution: Alerts trigger immediately when levels are crossed (no bar-close confirmation required), ensuring you catch moves as they happen.
Markov: Transition Matrix [Daily Timeframe]Description
This indicator computes a 3-state Markov chain from price action and visualizes the transition probabilities between daily states:
• Up: daily % change > threshold
• Down: daily % change < -threshold
• Sideways: |daily % change| ≤ threshold
From those states, it builds transition matrices:
• Today → Tomorrow (1 day ahead)
• Today → In 2 days
• Today → In 3 days
Each matrix cell shows:
P(next state | current state)
Rows are the current state (today), columns are the future state (tomorrow / +2 / +3).
Each row sums to 100% (when there is sufficient sample size).
________________________________________
How to read it (trader workflow)
1. Identify the current regime (the most recent confirmed daily state).
2. Look at the row matching that regime:
• The ★ marks the highest probability outcome for that row (most likely next state).
• Heatmap intensity increases as probability increases.
• Each row shows its own sample size (n=...) so you can judge statistical support.
3. Use Quick-read:
• “Now” = current regime
• “Best” = top conditional outcome + probability
• “2nd” = second-best outcome + probability
4. Use Universe (N):
• Shows the marginal distribution: how often days are Up/Down/Sideways across the whole dataset.
________________________________________
Settings
Core logic
• Sideways threshold: controls how strict “Sideways” is.
Example: 0.001 = ±0.10% daily move is considered Sideways.
Display
• Toggle 1D / 2D / 3D matrices.
• Highlight best probability per row (★).
• Show n per row (row transition count).
• Focus: current state row only to reduce noise and speed decision-making.
• Quick-read row for the current regime.
Theme (fully customizable)
All colors can be customized:
• Up / Down / Sideways base colors
• Header background + header text
• Values text
• Quick-read neutral background
This makes it suitable for both light and dark chart themes.
________________________________________
Notes / Limitations
• The indicator is designed for daily sessions. It uses daily close-to-close returns to classify states and update the Markov chain once per day.
• On very volatile assets, a very small threshold can make Sideways rare. If you want a more frequent Sideways regime, increase the threshold.
• This is a statistical visualization tool, not a trading system.
________________________________________
Disclaimer (TradingView-friendly)
This script is provided for educational and informational purposes only and does not constitute financial advice. Trading involves risk. Past probabilities do not guarantee future results. Use at your own discretion and always apply proper risk management.






















